效率更高:使用join
进行更新或使用where
进行更新。
这是我的代码:
加入:
CREATE procedure [dbo].[MyProc]
@tvp myType readonly
as
update tb
set pp_update=CONVERT(date,GETDATE(),101)
from myTable tb
join @tvp t on t.crc32 = tb.pp_crc32
其中:
CREATE procedure [dbo].[MyProc]
@tvp myType readonly
as
update tb
set pp_update=CONVERT(date,GETDATE(),101)
from myTable tb
where t.crc32 = tb.pp_crc32
更喜欢什么?如果我有2个术语,我可以使用join
??
答案 0 :(得分:1)
我认为您在第二个查询时出现拼写错误。也许你的意思是
CREATE procedure [dbo].[MyProc]
@tvp myType readonly
as
update tb
set pp_update=CONVERT(date,GETDATE(),101)
from myTable tb, @tvp t
where t.crc32 = tb.pp_crc32
两个查询是相同的。唯一的问题是第一个查询是ANSI SQL-92
语法,而另一个是SQL-89
(旧的)语法。