我有一个表,您可以在其中请求许多设备
Request表
ID noOfdevice requestedby
1 4 sam
如何根据requestTable的noOfdevice列如何创建存储过程或设备表以为设备插入5个新行
设备表
ID requestedby
dev1 sam
dev2 sam
dev3 sam
dev4 sam
您可以使用循环来运行多个插入语句。对于MySQL:https://dev.mysql.com/doc/refman/8.0/en/while.html
这里是一个很短的伪代码示例:
counter INT =1 ;
SELECT noOfdevice
INTO var1
FROM Request table
WHERE requestedby= [NAME];
WHILE counter <= var1 DO
insert....
END WHILE;
确切的语法可能因数据库而异
在Postgres中,您不需要存储过程:
insert into device_table(id, requestedby)
select 'dev'||g.id, r.requestedby
from request r
cross join generate_series(1,r.noofdevice) as g(id);