0
これを実行しようとしましたが、デフォルトの表領域でエラーが発生します。私は作成したユーザーにデフォルトの表スペースを与えたいのですが、どうしたらいいですか?デフォルトの表領域を持つループでOracleユーザーを作成します
BEGIN
FOR USERNAME IN (SELECT studentname from students)
LOOP
EXECUTE IMMEDIATE 'CREATE USER ' || USERNAME.studentname || ' IDENTIFIED BY ' || USERNAME.studentname;
EXECUTE IMMEDIATE 'DEFAULT TABLESPACE "USERS"';
EXECUTE IMMEDIATE 'TEMPORARY TABLESPACE "TEMP"';
EXECUTE IMMEDIATE 'GRANT STUDENT TO ' || USERNAME.studentname ;
END LOOP;
END;
Error report - ORA-00900: invalid SQL statement ORA-06512: at line 5 00900. 00000 - "invalid SQL
正確にはどのエラーですか? –
エラーを指定すると便利です。あなたの最初の3つのステートメントは、すべてが1つのステートメントの一部であるように見えます。デフォルトと一時テーブルスペースを含む 'CREATE USER'全体を実行した単一の'即時実行 'が必要です。もちろん、DDLステートメントに適切な空白( 'DEFAULT'や' TEMPORARY'の前のスペースなど)があることを確認したいでしょう。 –
最初の3行は**単一**文でなければなりません。有効なSQL文が 'デフォルトは –