の正しい使い方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;