我特林DB2過程中執行的查詢EXECUTE語句的變量:DB2 - 如何將值分配給在DB2
CREATE OR REPLACE PROCEDURE TEST (IN indbnm VARCHAR(30), IN intblnm VARCHAR(30))
LANGUAGE SQL
BEGIN
DECLARE statmnt2 VARCHAR(1000);
DECLARE VAR_COD_TIPO_ARQU CHAR(1);
DECLARE stmt1 STATEMENT;
SET statmnt2 = 'SELECT COD_TIPO_ARQU FROM '||indbnm||'.'||intblnm||' FETCH FIRST 1 ROWS ONLY';
PREPARE stmt1 FROM statmnt2;
SET VAR_COD_TIPO_ARQU = EXECUTE (stmt1);
[email protected]
這給了以下錯誤:
DB21034E The command was processed as an SQL statement because it was not a
valid Command Line Processor command. During SQL processing it returned:
SQL0206N "STMT1" is not valid in the context where it is used. LINE
NUMBER=33. SQLSTATE=42703
有什麼正確的方式設置VAR_COD_TIPO_ARQU
與COD_TIPO_ARQU
值動態?
ThankYou。
嗨@AngocA, 我回答:'執行stmt1到VAR_COD_TIPO_ARQU;' 但是它給我一個錯誤: 'SQL0518N在EXECUTE語句中命名的語句不處於準備狀態,或者是SELECT或VALUES語句。 SQLSTATE = 07003' –