1

一連の数字をDBに挿入しようとしています。これは私のコードですが、機能していません:

DECLARE 
  j number(10) ;
BEGIN
  FOR j IN 1001020930..1001021930
  LOOP
    INSERT INTO PROD.issue_id(j,'NEW',null)
  END LOOP;
END;

テーブル構造:

VARCHAR2 (128 BYTE)
VARCHAR2 (10 BYTE)
DATE

これはエラーコードです:

Error starting at line 1 in command:
DECLARE 
  j number(10) ;
BEGIN
  FOR j IN 1001020930..1001021930
  LOOP
    INSERT INTO PROD.issue_id(j,'NEW',null)
  END LOOP;
END;
Error report:
ORA-06550: line 6, column 42:
PL/SQL: ORA-01747: invalid user.table.column, table.column, or column specification
ORA-06550: line 6, column 5:
PL/SQL: SQL Statement ignored
ORA-06550: line 8, column 4:
PLS-00103: Encountered the symbol ";" when expecting one of the following:

   loop
06550. 00000 -  "line %s, column %s:\n%s"
*Cause:    Usually a PL/SQL compilation error.
*Action:

私はPL/SQLを初めて使用するため、これらのエラーを理解できません

4

1 に答える 1

3

挿入ステートメントでコマンドが抜けてvaluesおり、セミコロンで挿入ステートメントを終了していません。

そうであるように

    DECLARE
    j    NUMBER (10);
BEGIN
    FOR j IN 1001020930 .. 1001021930
    LOOP
        INSERT INTO   issue_id
              VALUES   (j, 'NEW', SYSDATE);
    END LOOP;
END;
于 2013-06-17T10:24:49.127 に答える