使用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日
答案 0 :(得分:2)
使用以下方法再试一次:
BEGIN
DECLARE myStatement VARCHAR(1000);
SET myStatement = 'SELECT * FROM MYTABLE';
EXECUTE IMMEDIATE myStatement ;
END;