我需要插入一个非常长的数据列表。我有一个执行此操作的预格式化查询列表,在该列表中,我会遍历每个查询,并将“ X”替换为项目编号的一部分。是否可以通过仅用所需的文本替换'X'来节省数十次键入或复制文本的方法?
我的查询集比这更长,但看起来像
Insert into Inventory_Ingredients
Values ('X300', 1001, '30label', 1, '0', 0)
Insert into Inventory_Ingredients
Values ('X300', 1001, '30b', 1, '0', 0)
Insert into Inventory_Ingredients
Values ('X300', 1001, 'Shrink30', 1, '0', .50/100)
Insert into Inventory_Ingredients
Values ('X300', 1001, 'recipeX', 1, '0', 1.00/100)
Insert into Inventory_Ingredients
Values ('X300', 1001, 'wiznic100', 0*30/100, '0', 2.00/100)
Insert into Inventory_Ingredients
Values ('X300', 1001, 'vg', 30-(select sum(inventory_ingredients.quantity)
from inventory_ingredients
where itemnum='recipeX'
group by itemnum)-(0*30/100), '0', 2.00/100)
答案 0 :(得分:0)
任何理由为什么动态SQL不能满足您的需求?在这种情况下非常有用。或者,如果X仅用于插入值而不是用于更改查询结构,则变量很可能会成功。即使如此,我敢打赌,这两个选项之一将为您做到。这是动态SQL帮助的好网站... https://www.mssqltips.com/sqlservertip/1160/execute-dynamic-sql-commands-in-sql-server/