函数中有插入语句解决——自治事务

要创建一个自治事务,您必须在匿名块的最高层或者存储过程、函数、数据包或触发的定义部分中,使用PL/SQL中的PRAGMA AUTONOMOUS_TRANSACTION语句。在这样的模块或过程中执行的SQL Server语句都是自治的。

例子

create or replace function sms_send(v_mobile_no  varchar2, --电话号码
                                                   v_dx_content varchar2 --短信内容

                                                  )
  return varchar2 is
  pragma autonomous_transaction;
  v_result integer;
  v_msg    varchar2(100);
  v_exception Exception;
BEGIN
  v_msg  := 'OK';
  --往中间短信发送表插入发送数据
  v_msg    := '发送失败!';
  v_result := -10;
        INSERT INTO TABLE    VALUES('','');
        commit;
  return 'OK';
END;

 

你可能感兴趣的:(函数中有插入语句解决——自治事务)