這是因為 SSMA 在 SQL Server 中找不到其對應的物件。 但 SSMA 可以在例程層級轉換自主交易(也就是程式、函式等)。 範例 請考慮下列範例: SQL 複製 DECLARE PRAGMA AUTONOMOUS_TRANSACTION; BEGIN FOR i IN 3 .. 10 LOOP INSERT INTO at_test (id, description) VALUES (i, 'Description for ' || i...
SQL PRAGMAAUTONOMOUS_TRANSACTION; 在上一语句中,PRAGMA可以在 PL/SQL 块之间BEGINEND执行自治事务,而不会影响整个事务。 每当SSMA 尝试使用PRAGMA AUTONOMUS_TRANSACTION语句(即独立BEGIN ... END)转换 PL/SQL 块时,它就不支持PRAGMA块级别。 这是因为 SSMA 在 SQL Server 中找不到相应的对象。 但 SSMA 可以在...
要创建一个自治事务,您必须在匿名块的最高层或者存储过程、函数、数据包或触发的定义部分中,使用PL/SQL中的PRAGMA AUTONOMOUS_TRANSACTION语句。在这样的模块或过程中执行的SQL Server语句都是自治的。 触发无法包含COMMIT语句,除非有PRAGMA AUTONOMOUS_TRANSACTION标记。但是,只有触发中的语句才能被提交,主事务则不行。
Whenever SSMA tries to convert the PL/SQL block with PRAGMA Autonomous_Transaction statement (i.e. standalone BEGIN … END), it does not support PRAGMA on the block level. This is because SSMA cannot find its corresponding object in the SQL Server...
PRAGMA AUTONOMOUS_TRANSACTION中文翻译过来叫“自治事务”(翻译的还算好理解),对于定义成自治事务的Procedure,实际上相当于一段独立运行的程序段,这段程序不依赖于主程序,也不干涉主程序 自治事务的特点 第一,这段程序不依赖于原有Main程序,比如Main程序中有未提交的数据,那么在自治事务中是查找不到的。
pragma autonomous_transaction是一个用于创建独立事务的特殊SQL语句。每个pragma autonomous_transaction可以包含多个SQL语句,这些语句将在一个独立的事务中执行。与常规的事务不同,pragma autonomous_transaction不受外部事务的提交或回滚的影响。这意味着,无论外部事务的结果如何,pragma autonomous_transaction始终能够独立地完成...
其中,autonomous_transaction是一种常用的pragma,它允许在事务中执行自主事务。这对于需要处理大量数据或需要独立于其他事务执行的操作非常有用。本文将介绍pragmaautonomous_transaction的用法,包括其定义、语法、示例以及注意事项。 一、定义和背景 pragmaautonomous_transaction用于在数据库中开启自主事务。自主事务是一种独立...
语法 在语句声明部分 declare ,加⼊下列语句即可 pragma autonomous_transaction ; 1.1事务图⽰ 2⽰例:错误⽇志 基础数据准备: --创建学⽣信息表 create table scott .stu_info ( id number (10) constraint pk_sut_info_id primary key, name varchar2 (30), sex varchar2 (2) ); --创建⽇...
SQL> Next, we insert another 8 rows using an anonymous block declared as an autonomous transaction, which contains a commit statement. 下一步,我们使用匿名的自治事务块插入另外8行数据,同时提交。 DECLARE PRAGMA AUTONOMOUS_TRANSACTION; BEGIN FOR i IN 3 .. 10 LOOP INSERT INTO at_test (id, descr...
现在,PRAGMA AUTONOMOUS_TRANSACTION通过匿名块给出,并且匿名块末尾给出COMMIT命令。 BEGIN;INSERTINTOdeptVALUES(50,'HR','DENVER');DECLAREPRAGMA AUTONOMOUS_TRANSACTION;BEGININSERTINTOdeptVALUES(60,'FINANCE','CHICAGO'); insert_dept_70;COMMIT;END;ROLLBACK; ...