我尝试下面的代码,但它没有插入...我犯了错误。任何人都帮助我...
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)
答案 0 :(得分:0)
分号(;
)不是SQL语法的一部分(它是某些工具使用的终结符) - 只需将其从您创建的行中删除@query
:
SET @query = 'INSERT INTO tb_new_product_Name_id (Product_Name,Product_Id) VALUES ('+@str+','+@key+')'