簡體   English   中英

MS SQL存儲過程運行時錯誤

[英]MS SQL Stored Procedure run time error

串聯MSSQL查詢時如何糾正sp中的錯誤?

SET  @Ws_Sql = 'SELECT CONVERT(VARCHAR(25),@WS_STATUS) AS [Status],A.RECNUB AS [Rec #], A.REVCOD AS [Revenue CODE], ' 
IF @LNKOPT = 1 
BEGIN
    SET  @Ws_Sql = @WS_SQL +''' AS [Status],'
END
ELSE IF @LNKOPT = 2
BEGIN
    SET  @Ws_Sql = @WS_SQL +'' + 'Modified' + ' AS [Status],'
END
ELSE IF @LNKOPT = 3
BEGIN
    SET  @Ws_Sql = @WS_SQL +'' + 'Deleted' + ' AS [Status],'
END
ELSE IF @LNKOPT = 4
BEGIN
    SET  @Ws_Sql = @WS_SQL +'' + 'Reprint' + ' AS [Status],'
END

如果@LNKOPT = 1,是否要為[狀態]輸出列分配一個空值?

在這種情況下,您需要使用雙撇號來轉義撇號字符:

IF @LNKOPT = 1 
BEGIN
    SET  @Ws_Sql = @WS_SQL +''''' AS [Status],'
END

這將導致@Ws_Sql包含: '' AS [Status] (否則將導致' AS [Status] ,這將在執行@Ws_Sql字符串時產生錯誤)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM