0

DB2 SQL コードに取り組んでいます。

テーブルのリストからレコードの数を取得する必要があります。テーブルの詳細は、select を使用してカーソルから取得されます。SELECT INTOレコードの数を取得するために、ステートメントで試してきました。テーブル名はさまざまであるため、動的 SQL コードを使用しています。私が試してきたコードを共有しています。SELECT INTODB2と動的 SQL の組み合わせを使用している場合、構文がよくわかりません。以下の試行で次のエラーが発生します。

なぜそうなのか、誰か教えてもらえますか?可能であれば、DB2 select into と動的 SQL の作業コードを共有していただければ幸いです。

SQL0104N An unexpected token "statmnt2" was found following "SET statmnt2 := 'set ? = (SELECT COD_TIPO_ARQU FROM '||indbn". Expected tokens may include: "".


DECLARE
indbnm                  VARCHAR(30);
intblnm                 VARCHAR(30);
v_errorText             varchar2(50);
statmnt2                VARCHAR(1000);
VAR_COD_TIPO_ARQU       CHAR(1);
stmt1                   STATEMENT;
statmnt2                VARCCHAR2(100);

BEGIN

indbnm := "db2inst5";
intblnm:= "rules";

SET statmnt2 := 'set ? = (SELECT COD_TIPO_ARQU FROM '||indbnm||'.'||intblnm||' FETCH FIRST 1 ROWS ONLY)';
PREPARE stmt1 FROM statmnt2;
EXECUTE stmt1 into VAR_COD_TIPO_ARQU ;


DBMS_OUTPUT.PUT_LINE(VAR_COD_TIPO_ARQU);
    EXCEPTION
    WHEN OTHERS THEN
            v_errorText :=SUBSTR(SQLERRM,1, 1024);
            DBMS_OUTPUT.PUT_LINE('FAILED WITH MESSAGE: '||v_errorText);

END;
4

0 に答える 0