【发布时间】:2013-07-29 12:11:23
【问题描述】:
我在 SQL 数据库中的一个包 (retrieve_user) 下创建了下面的存储过程,以从另一个表中检索信息以将其插入到全局临时表 (global_temp_tableB) 中。
procedure Load_BTable (NumID IN NUMBER) AS
begin
insert into global_temp_tableB (name, age, address, country, year)
select name, age, address, country, year
from table(prepare_tableB.find_User(NumID));
commit;
end Load_LFTable;
但是当我尝试从 SQL 窗口测试和调用该过程时:
begin
retrieve_user.Load_BTable(numid => 739);
end;
global_temp_tableB 仍然是空的,但是当我使用实际的 INSERT 语句而不是调用存储过程时:
begin
insert into global_temp_tableB (name, age, address, country, year)
select name, age, address, country, year
from table(prepare_tableB.find_User(739));
end;
它可以返回我想要的结果。所以我相信存储过程中的INSERT语句是有效的。
但是为什么当我调用存储过程时,它没有返回我想要的结果呢?
非常感谢您的所有时间和关注。
【问题讨论】:
-
请检查您尝试插入时是否触发了任何触发器
标签: sql stored-procedures