【问题标题】:Output the result of a SELECT executed on IBM DB2输出在 IBM DB2 上执行的 SELECT 的结果
【发布时间】:2017-04-11 12:45:34
【问题描述】:

使用 T-SQL (SQL Server) 很容易做到:

DECLARE @MyStatement AS NVARCHAR(max) = 'SELECT * FROM MYTABLE'
EXEC (@MyStatement)

但是,我在 IBM DB2 上花费了数小时却无法做到。我希望这会奏效:

DECLARE myStatement VARCHAR(1000);
SET myStatement = 'SELECT * FROM MYTABLE';
PREPARE s1 FROM myStatement;
EXECUTE s1;

但我收到以下错误消息:

元素 syntaxique VARCHAR n'est pas 正确。可能的元素: 动态敏感 敏感 不敏感 .. SQLCODE=-104, SQLSTATE=42601,驱动程序=4.18.60

我会翻译成:

语法元素 VARCHAR 不正确。可能的元素:动态 敏感敏感不敏感.. SQLCODE=-104, SQLSTATE=42601, 驱动程序=4.18.60

【问题讨论】:

  • 你用什么客户端来连接和显示数据?
  • 声明 x 为 char(1000); set x = 'select * from mytable';立即执行 x;
  • @xQbert:SSRS 2016 以及 IBM SQL 和例程开发(IBM Data Studio)
  • 我刚刚输入。作为外卖

标签: sql tsql db2 db2-400


【解决方案1】:

使用以下命令重试:

BEGIN
  DECLARE myStatement VARCHAR(1000);
  SET myStatement = 'SELECT * FROM MYTABLE';
  EXECUTE IMMEDIATE myStatement ;
END;

【讨论】:

    猜你喜欢
    • 2019-09-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-20
    • 2018-08-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多