在存储过程中如何用一条insert语句同时插入多条记录,而且生成的ID号要不相同?

来源:百度知道 编辑:UC知道 时间:2024/05/11 16:14:38
插入的数量根据所传的参数而定,而参数是个逗号分隔的字符串,数量不确定,故插入的记录数也不确定,但要使生成的多个随机ID号都不相同,如何做啊,调用的那个随机编号存储过程一次只能生成一个编号。是用一条insert语句,
急用!谢谢各位啦!
要插入的ID号是调用一个能随机生成编号的存储过程,调用一次只能生成一个号。
数据库为SQL Server 2005,
col1 col2 col3
47281421 aa 33430952
47281421 bb 45868350
47281421 cc 95235764
就是用一条INSERT语句插入的,但是如何让col1的值都不相同啊!

这和所用的数据库有关,不同的数据库对SQL标准支持有差异,同时存储过程等功能的实现和使用也不一样,就连INSERT的语法也有区别,需要结合具体的数据库来看,请详细说明所用数据库环境(包括版本号),或自己查阅相关手册(手册中应该有相应的说明。)
对于ms sql server 2005,可以用
insert into test_table (col1, col2, col3)
select c1v, c2v, c3v
union all select c1v, c2v, c3v
union all select c1v, c2v, c3v
...
其中c1v可以用生成随机数的存储过程的返回值代替