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的一种写法
PL/SQL过程
最新推荐文章于 2025-09-07 01:04:37 发布
本文介绍了一个使用PL/SQL编写的存储过程,该过程通过动态SQL更新数据库表,并返回受影响的行数。具体步骤包括打开游标、定义并解析SQL语句、绑定变量、执行SQL并获取结果。
981

被折叠的 条评论
为什么被折叠?



