-1

我在数据库中有一个表,其中包含列中的查询语句。我需要更新这个。有什么办法可以更新这个它似乎给了我一个错误:

UPDATE Items
SET Query = 'SELECT isnull((sum(OrigDocAmt) ),0) amount from AP where Acct in (1234) and Status='O' and Doc in ('CK') {SLLocCode}'
WHERE ID='111'

它给了我一个错误,因为它认为 'O' 是一个单独的字符串。有没有一种方法可以像在 python “What's up”中那样做到这一点。不知道为什么要这样设置,但我的前任是这样做的。请帮忙。

4

3 回答 3

2

您需要在每个文字值周围使用 2 个单引号 ('')

'SELECT isnull((sum(OrigDocAmt) ),0) amount from AP where Acct in (1234) and Status=''O'' and Doc in (''CK'') {SLLocCode}'
于 2013-08-30T21:30:38.820 回答
0

您需要转义查询字符串中的单引号。在 SQL Server 中,您只需将单引号加倍:

UPDATE Items
    SET Query = 'SELECT isnull((sum(OrigDocAmt) ),0) amount from AP where Acct in (1234) and Status=''O'' and Doc in (''CK'') {SLLocCode}'
    WHERE ID = '111';
于 2013-08-30T21:31:24.603 回答
0

您需要'在查询中转义(单引号)。这可以通过简单地加倍来完成。

UPDATE Items
SET Query = 'SELECT isnull((sum(OrigDocAmt) ),0) amount 
from AP where Acct in (1234) and Status=''O'' and Doc in (''CK'') {SLLocCode}''
WHERE ID=''111';
于 2013-08-30T21:31:42.343 回答