我正在使用SQL Server 2008 R2。我有一个存储过程,可以在计算某些列时从两个源表附加到主表。在我可以从源1附加到主表之前,我必须更新列Service_Element
,以便下游过程可以正确地连接表。
我更新后想要创建一些QA,这样如果列没有正确更新,它将停止程序(这导致我和我的团队上个月重新运行我们的整个过程,因为错误直到在我们运行了一切之后)
以下是我到目前为止的代码。
declare @secount as int
set @secount = (
select COUNT(*)
from (
select
datepart(year, ReportingMonth) as full_year,
Service_Element,
sum(Quantity) as amount
from tbl_VolumeImport
where (Service_Element like '%Windows%' or Service_Element like '%Linux%' )
and datepart(year, ReportingMonth) = '2014'
group by datepart(year, ReportingMonth), Service_Element) as E)
select case
when @secount = 0 then print 'no errors' else print 'can not proceed'
end as Error
这是我得到的错误:
Msg 156,Level 15,State 1,Line 11
关键字'print'附近的语法不正确。Msg 102,Level 15,State 1,Line 12
'end'附近的语法不正确。
此外,我想将else更改为RETURN
,以便停止其余的操作。
由于
答案 0 :(得分:0)
试试这个。
if @secount = 0
begin
print 'no errors'
end
else
begin
print 'can not proceed'
return
end
更多代码....