[英]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.