【发布时间】:2016-12-13 00:11:20
【问题描述】:
我想在我自己的存储过程中对表的每一行调用一个存储过程。在 SQL Developer 工作区中,我可以这样简单地调用它:
SELECT my_stored_proc(...)
FROM my_table
但是在我的存储过程中这似乎没有执行:
stmt := 'SELECT my_stored_proc(...) FROM my_table';
EXECUTE IMMEDIATE stmt;
这确实有效:
DECLARE
l_cursor sys_refcursor;
BEGIN
OPEN l_cursor FOR stmt;
LOOP
FETCH l_cursor INTO ...;
EXIT WHEN l_cursor%NOTFOUND;
my_stored_proc(...);
END LOOP;
...
我的问题是为什么会这样。
【问题讨论】:
标签: sql stored-procedures plsql oracle-sqldeveloper