-1
ストアドプロシージャ(エラーなしでコンパイルされた)を作成しましたが、呼び出すときに "ORA-02216:tablespace name expected"エラー。これについて混乱させることは、このコードを手動で実行するときです。完全に動作します。 そしてここではコードです:プロシージャが呼び出されたときにEXECUTE IMMEDIATE内に変数が割り当てられない
PROCEDURE createIndexPK
IS
VAR_TABLESPACEA VARCHAR2(20);
BEGIN
SELECT MIN(TABLESPACE_NAME) INTO VAR_TABLESPACEA FROM ALL_INDEXES WHERE TABLE_NAME = 'SOME_TABLE';
EXECUTE IMMEDIATE ('CREATE UNIQUE INDEX SOME_TABLE_PK ON SOME_TABLE
(ID)
LOGGING
TABLESPACE '||VAR_TABLESPACEA||'
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE (
INITIAL 64K
NEXT 1M
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
BUFFER_POOL DEFAULT
)
NOPARALLEL');
END;
エラーは 'TABLE_NAME =「ALL_INDEXES FROM VAR_TABLESPACEA INTO MIN(TABLESPACE_NAME)を選択してあり、このクエリは何も返しているかどうかをチェックしSOME_TABLE''。エラーごとに、このクエリは値を返さないようです。 – XING
私はこれから価値を得ています。それは私がこれを使用している状況の1つに必要な "INDEXES"を返す –
同じこと、何も変わらない –