2016-08-03 43 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