首页 » ORACLE 9i-23c » 执行procedure 动态传入参数

执行procedure 动态传入参数

关键字: 存储过程调用存储过程 游标 cursor  绑定变量 动态传入参数

以前自己写过一个参数过程,不过是只处理单条数据,今天遇到要批量数据要处理,懒 有时也是一种优点,懒就会想法减少工作量,所以把数据导入数据表中,再批量调用,平时很少用游标遇到点问题,还好网友帮忙,在此分享。

————————

DECLARE
v_id     INT;
v_name   VARCHAR2 (50);
v_sql    VARCHAR2 (200);

CURSOR cur
IS
SELECT org.ID, te
FROM tmd LEFT JOIN topbox_organization org
ON tmd.c = org.NAME AND org.ID LIKE ‘500%’ AND TYPE = 3
;
BEGIN
FOR c_items IN cur
LOOP
—  DBMS_OUTPUT.PUT_LINE(c_items.id||c_items.te);

v_id :=c_items.id;
v_name:=c_items.te;

–DBMS_OUTPUT.PUT_LINE(v_id);

v_sql:=’ begin add_org(:1,:2,4,12,4); end;’;
execute  immediate  v_sql using v_id,v_name;

—   add_org(v_id ,v_name,4,12,4) 这样应该也可以
END LOOP;
END;

重点:

发现动态sql调用procedure 要用 begin end;哎

打赏

对不起,这篇文章暂时关闭评论。