0

我在 Teradata 中使用立即执行时遇到了问题。

SET str_sql = 'UPDATE TABLE
                    SET COLA = 0';
EXECUTE IMMEDIATE str_sql;

上面的代码工作正常。

SET str_sql = 'UPDATE TABLE
                    SET COLA = 0,
                        COLB = ''test''';
EXECUTE IMMEDIATE str_sql;

上面带有字符串的代码返回错误。

以下是错误信息:

Executed as Single statement.  Failed [3706 : 42000] Table:Syntax error: expected   something between a string or a Unicode character literal and the word 'test'. 
Elapsed time = 00:00:00.212 

STATEMENT 1: CALL  failed. 

任何人都知道如何在 sql 中使用 String 调用立即执行?谢谢!

弗兰克·刘

4

1 回答 1

0

问题可能出在报价单上。而不是这个

SET str_sql = 'UPDATE TABLE
                SET COLA = 0,
                    COLB = ''test''';
EXECUTE IMMEDIATE str_sql;

使用双引号。

SET str_sql = 'UPDATE TABLE
                SET COLA = 0,
                    COLB = 'test'';
EXECUTE IMMEDIATE str_sql;
于 2014-07-02T02:38:44.757 回答