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

如何为插入的sql行生成随机数,sql,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 ) DECLAR

我尝试了下面的代码,但它没有插入…我犯了错误。有人能帮我

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)
分号;不是SQL语法的一部分,它是一些工具使用的终止符-只需将其从您创建的@query行中删除即可:


对于SQL server,将来需要分号。尝试声明一个不可用的分隔符;
SET @query = 'INSERT INTO tb_new_product_Name_id (Product_Name,Product_Id) VALUES ('+@str+','+@key+')'