替换查询中的文本

时间:2018-11-11 00:30:01

标签: sql sql-server tsql

我需要插入一个非常长的数据列表。我有一个执行此操作的预格式化查询列表,在该列表中,我会遍历每个查询,并将“ 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)

1 个答案:

答案 0 :(得分:0)

任何理由为什么动态SQL不能满足您的需求?在这种情况下非常有用。或者,如果X仅用于插入值而不是用于更改查询结构,则变量很可能会成功。即使如此,我敢打赌,这两个选项之一将为您做到。这是动态SQL帮助的好网站... https://www.mssqltips.com/sqlservertip/1160/execute-dynamic-sql-commands-in-sql-server/