正确使用if exists
很容易。它不是select
、update
或SQL
语句的有效语法。没有它,您的查询将正常工作:
insert into master.dbo.turnover3(shop,somefield)
select '301',Curr_Turnover
from [S301].vpm.dbo.BO_POS_SAP_Turnover
where datediff(day,left(Sale_Date,16),getdate())= '0' ;
if exists
是T-SQL 的一部分。也就是说,您可以使用它编写脚本。使用这种语法,它只是if
语句的另一种变体:
if not exists (select *
from master.dbo.turnover3(shop,somefield)
where shop = '301'
)
begin
insert into master.dbo.turnover3(shop,somefield)
select '301',Curr_Turnover
from [S301].vpm.dbo.BO_POS_SAP_Turnover
where datediff(day,left(Sale_Date,16),getdate())= '0' ;
end;