例如有个一个表#a,id,pid,number
id是通过存储过程aaa自动生成的。
如果想给表增加几行,pid,number一样,只是id不一样,每一行的id都必须用调用aaa得到。可不可以用
insert into #a
exec()
来弄?如果行的话,怎么弄?不想弄临时表,因为世纪的表中数据很多
id是通过存储过程aaa自动生成的。
如果想给表增加几行,pid,number一样,只是id不一样,每一行的id都必须用调用aaa得到。可不可以用
insert into #a
exec()
来弄?如果行的话,怎么弄?不想弄临时表,因为世纪的表中数据很多
可是还有后面的东西也要一起插入啊,如果只是插入ID就可以按照你说的办了
declare @ab int
exec aaa,
@ab=@aa
insert #a select @ab ,pid,number
使用"insert 表 exec 存储过程"这种语法结构插入新行时,必须保证存储过程返回的结果集的结构与要插入表的结构一致,如列的数量,列的数据类型兼容等.
exec @id = aaa /*接收存储过程返回的id值*/
insert into #a(id,其它列...) select @id,其它列值...
--或
insert into #a(id,其它列...) values(@id,其它列值...)
这样只能是一行一行的插入了。因为每次只能生成一个ID,我的意思是如果想可以用一个insert into 可以插入所有符合条件的行。能行吗?