输出在IBM DB2上执行的SELECT的结果

问题描述 投票:0回答:1

使用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;

但是我收到以下错误消息:

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

我会翻译成:

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

sql tsql db2 db2-400
1个回答
2
投票

再试一次使用以下内容:

BEGIN
  DECLARE myStatement VARCHAR(1000);
  SET myStatement = 'SELECT * FROM MYTABLE';
  EXECUTE IMMEDIATE myStatement ;
END;
© www.soinside.com 2019 - 2024. All rights reserved.