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

时间:2017-04-11 12:45:34

标签: sql tsql db2 db2-400

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

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

  

ElémentsymlamiqueVARCHAR n'est pas correct。可能的元素:   动态敏感敏感性敏感性SQLCODE = -104,   SQLSTATE = 42601,DRIVER = 4.18.60

我将翻译成:

  

语法元素VARCHAR不正确。可能的元素:动态   敏感的敏感性不敏感... SQLCODE = -104,SQLSTATE = 42601,   DRIVER = 60年4月18日

1 个答案:

答案 0 :(得分:2)

使用以下方法再试一次:

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