触发器中是否可以使用动态循环结构插入修改数据??实现如下功能

waxle 2004-08-13 02:43:38
触发器中是否可以先在某个表中统计数据,然后根据统计的数据决定另外一个表中要插入或修改的记录数,然后循环插入数据。
总而言之就是触发器中是否可以使用循环语句。
比如
declare aa number;
select count(*) into aa from table_name where(````);

然后用循环语句写入数据
比如visual basic中的格式就是
for loop1=1 to aa


next
这样的功能在pl/sql触发器或者存储过程中能够实现??哪里有这方面的资料??
...全文
253 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
waxle 2004-08-13
  • 打赏
  • 举报
回复
循环结构好像也可以用的
awolf168 2004-08-13
  • 打赏
  • 举报
回复
最近正好用到如下,希望有所帮助:
CREATE TRIGGER TRIG_OPERATION
AFTER INSERT ON AUTHOPERATION FOR EACH ROW
DECLARE
--定义变量
OperationId varchar2(15) := :new.OperationId;
aAppTypeId varchar2(15) := :new.AppTypeId;
tFlowId varchar2(15);
--定义游标
CURSOR cur_operation
is
select FlowId
from authflow
where authflow.flowtemplateid =
(
select apptype.flowtemplateid
from apptype
where apptype.apptypeid = aAppTypeId
)
order by flowid asc;
BEGIN
--打开游标
open cur_operation;
--取出数据
fetch cur_operation into tFlowId;
--循环
while cur_operation%found
loop
INSERT INTO AUTHAUTHORIZE VALUES('',OperationId,tFlowId,'','','','','','','','','-1');
fetch cur_operation into tFlowId;
end loop;
--关闭游标
close cur_operation;
END;
/
实现功能是取得flowid,然后将flowid和其他的一些值循环插入到AUTHAUTHORIZE表里面来(循环次数为取得flowid的个数).
dinya2003 2004-08-13
  • 打赏
  • 举报
回复
可以实现,用游标:
cursor c is select .......
begin
open c;
loop
fetch c into ...;
exit when c%notfound;
....
end loop;
close c;
.....
end;

17,140

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧