create or replace procedure test_proc(v_value in integer) is
v_cursor number;
v_str varchar2(100);
v_rtn integer;
begin
--open cursor
v_cursor :=dbms_sql.open_cursor;
--delete table
v_str := 'update a set id = :v_value';
--解释sql语句
dbms_sql.parse(v_cursor,v_str,dbms_sql.native);
--定义动态sql语句(DML)中所对应字段的值
dbms_sql.bind_variable(v_cursor,':v_value',v_value);
--返回执行的记录数
v_rtn := dbms_sql.execute(v_cursor);
--提交
commit;
dbms_sql.close_cursor(v_cursor);
dbms_output.put_line(v_rtn);
end test_proc;
oracle动态sql的一种写法
最新推荐文章于 2021-10-27 19:22:47 发布