我是sql server
中的新用户并尝试将除结果之外的内容插入到表中以便编写此代码:
insert into [tablediff].[dbo].[TempTable]
select [Phone] from [dbo].[CRMSubscriber]
except
select [Phone] from [dbo].[BillingSubscriber]
该代码工作得非常好,但是当我尝试运行此代码时:
use [tablediff]
if (not exists(
insert into [tablediff].[dbo].[TempTable]
select [Phone] from [dbo].[CRMSubscriber]
except
select [Phone] from [dbo].[BillingSubscriber]
))
begin
print 'no record'
end
else
begin
print 'has record'
end
得到这个错误:
第15行,第1行,第3行 关键字' insert'附近的语法不正确。
Msg 102,Level 15,State 1,Line 7 ')'附近的语法不正确。
第15行,第11行,第1行,第11行 关键字' else'附近的语法不正确。
我该如何解决这个问题?谢谢。
答案 0 :(得分:2)
您需要@@rowcount
变量。这将告诉您在上一次操作中受影响(插入,更新或删除)的行数。
use [tablediff]
insert into [tablediff].[dbo].[TempTable]
select [Phone] from [dbo].[CRMSubscriber]
except
select [Phone] from [dbo].[BillingSubscriber]
if @@ROWCOUNT = 0
begin
print 'no record'
end
else
begin
print 'has record'
end