2016-05-16 120 views
0

我有以下格式的100个更新语句:格式化SQL Update语句

UPDATE Eli 
SET UserId = @ID, UpdateDate = @DATE, Indicator = 'C' 
WHERE Isdel = 'N' 
    AND TId = 56260563 
    AND Indicator = 'A' 
    AND ENumber = 21848963 
    AND CNumber = 111248400 
    AND PBDate = '2013-10-01' 

我如何把上面的更新语句的单行线,就像如下─

UPDATE Eli SET UserId = @ID, UpdateDate = @DATE, Indicator = 'C'WHERE Isdel = 'N'  AND TId = 56260563 AND Indicator = 'A' AND ENumber = 21848963 AND CNumber = 111248400  AND PBDate = '2013-10-01' 
+7

...它看起来像你已经把它放在一行,不是吗?我错过了什么? – WillardSolutions

+0

为什么你不使用合并,所以你不必一直说和!你所要做的就是给出输入值。这个问题在问什么?你已经完成了这项工作,虽然 – JT4U

+0

我有100个这样的更新说明。而不是手动,我想要一种方式来使用sql编辑器来格式化它们。 – user2961127

回答

0

使用文本编辑器,如Notepadd++或任何其他高级编辑器,以及runa替换”“(空格)的CR + LF。

enter image description here

通过SSMS也支持。

enter image description here

1

为什么格式化一堆的陈述?相反,使用数据加载表并使用JOIN。这里是一个例子:

select @id as id, @date as updatedate, 'N' as isdel, 56260563 as tid, 
     'A' as indicator, 111248400 as CNumber, 
     cast('2013-10-01' as date) as PBDate 
into table_toupdate; 

UPDATE e 
    SET UserId = tu.id, UpdateDate = tu.updatedate, Indicator = 'C' 
    FROM Eli e JOIN 
     table_toupdate tu 
     ON e.isdel = tu.isdel and 
      e.tid = tu.tid and 
      e.enumber = tu.enumber and 
      e.cnumber = tu.cnumber and 
      e.pbdate = tu.pbdate; 

然后,您可以加载更新表与很多行,只是运行一个更新语句。 “