如何为插入的行sql生成随机数

时间:2013-12-21 18:29:02

标签: sql

我尝试下面的代码,但它没有插入...我犯了错误。任何人都帮助我...

DECLARE @str VARCHAR(5)
SELECT @str= Product_Name
FROM tb_new_purchase
WHERE NOT EXISTS (SELECT Product_Name FROM tb_new_product_Name_id where    
tb_new_product_Name_id.Product_Name=tb_new_purchase.Product_Name )

DECLARE @key VARCHAR(5), @i int
DECLARE @query VARCHAR(120)
SET @i = 1
WHILE @i > 0
BEGIN
SET @key = (SELECT ABS(Checksum(NewID()) % 467) + 1000)
SET @i = (SELECT count(*) FROM tb_new_product_Name_id WHERE Product_Id = @key)
END
SET @query = 'INSERT INTO tb_new_product_Name_id (Product_Name,Product_Id)      
VALUES          ('+@str+','+@key+');'
exec(@query)

1 个答案:

答案 0 :(得分:0)

分号(;)不是SQL语法的一部分(它是某些工具使用的终结符) - 只需将其从您创建的行中删除@query

SET @query = 'INSERT INTO tb_new_product_Name_id (Product_Name,Product_Id) VALUES ('+@str+','+@key+')'