`
tanghongjun1985
  • 浏览: 55250 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

oracle procedure

阅读更多
-- 参数 input_value in 表示输入参数, out 则表示输出参数
create or replace procedure first_procedure(input_value in varchar2, output_value out varchar2)
as
-- 定义变量
vs_err_mes varchar2(4000);
vs_dele_option varchar2(10);
vs_integer number(10);
-- 定义一个游标(是一个可以遍历的结果集)
cursor cur_1 is select D_ID, DE_NAME from DEPT_INFO;
begin
--给变量赋值
-- vs_err_mes := SUBSTR(input_value,1,2);
--  vs_ym_sn_beg := TO_CHAR(ADD_MONTHS(TO_DATE(vs_ym_beg,'yyyymm'), -12),'yyyymm');
vs_dele_option := input_value;

-- 删除数据
delete from dept_info where D_ID=vs_dele_option;

for dept1 in cur_1 loop
    insert into dept_info2 (id,name) values (dept1.D_ID,dept1.DE_NAME);
end loop;
commit;
--错误处理部分。OTHERS表示除了声明外的任意错误。SQLERRM是系统内置变量保存了当前错误的详细信息。
exception
          when others then
          vs_err_mes :='error not name';                                                                                             
ROLLBACK;
--把当前错误记录进日志表。
INSERT INTO LOG_INFO VALUES('first_procedure',vs_err_mes,SYSDATE);
COMMIT;
RETURN;
end;
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics