gpt4 book ai didi

sql - 在存储过程查询中指定字符串

转载 作者:行者123 更新时间:2023-12-02 05:59:48 25 4
gpt4 key购买 nike

我有一个正在存储过程中运行的查询。但是,会产生错误:

Incorrect syntax near 'CHEQUE'

查询是:

SELECT @QUERY1 = 'UPDATE  [dbo].[ATAB] SET PAYMCODE='CHQ' WHERE RATE=1'

如何在不出现错误的情况下指定此字符串“CHQ”?

最佳答案

在动态 SQL 字符串中指定字符串文字时,您必须用另一个单引号转义单引号(例如:'',而不是 ",它是双引号) 所以查询将是这样的:

SELECT @QUERY1 = 'UPDATE  [dbo].[ATAB] SET PAYMCODE=''CHQ'' WHERE RATE=1'

这会将其翻译成:

UPDATE [dbo].[ATAB] SET PAYMCODE='CHQ' WHERE RATE=1

如果您想将 CHQ 存储到变量中,或者使用 EXEC 并指定如下参数,您也可以使用 Nate S 的答案:

DECLARE @Paymcode varchar(3) = 'CHQ'
DECLARE @SQL nvarchar(max)
DECLARE @Params nvarchar(max)

SET @SQL = N'UPDATE [dbo].[ATAB] SET PAYMCODE=@innerPaymcode WHERE RATE=1'
SET @Params = N'@innerPaymcode varchar(3)'

EXEC sp_executesql @SQL, @innerPaymcode = @Paymcode

关于sql - 在存储过程查询中指定字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30360170/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com