简体   繁体   中英

how to generate random number for inserted row sql

i tried below code but its not inserting...where i made error.can anyone help me...

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行中删除:

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM