2016-08-03 30 views
0

我想在我的查询中使用RAISERROR,但我无法让它工作。毫无疑问,我试图完全错误地做到这一点。SQL RAISERROR在CASE

例如,在下面的代码中,如果DestType字段为空或NULL,我希望它终止查询。

SELECT TOP 1 
    DocEntry, 
    DocNum, 
    CAST(DocDate AS DATE) AS [DocDate], 
    CAST(DocDueDate AS date) AS [ShipDate], 
    Comments, 
    DestType 
FROM .... 

我试着把它放在CASE中,但是在那种类型的东西里,但是没有奏效。

非常感谢!

+0

CASE的目的是返回一个值,它不是用于流量控制。将值存储在变量中,并在选择IF后进行测试。 –

回答

1

RAISERROR是不能内联的声明。

随着SQL-服务器2016(为标记),可以使用

BEGIN TRY 
    Do Something here 
END TRY 
BEGIN CATCH 
    RAISERROR ...parameters... 
END CATCH