1
動的にスキーマを作成したい、つまり入力を促すはずです。またはコレクション、ネストした表を使用してPL/SQLコード・ブロック(つまりプロシージャ、関数など)からユーザーを作成する方法は?PL/SQLコード・ブロックを使用してOracleデータベースにスキーマを作成する方法は?
動的にスキーマを作成したい、つまり入力を促すはずです。またはコレクション、ネストした表を使用してPL/SQLコード・ブロック(つまりプロシージャ、関数など)からユーザーを作成する方法は?PL/SQLコード・ブロックを使用してOracleデータベースにスキーマを作成する方法は?
私はあなたにそのための小型の例を与える:
ここcreate or replace procedure p(p_user varchar2) is
begin
execute immediate 'create user '||p_user||' identified by x';
end;
/
begin
p('&user');
end;
/
手順は、あなたのDDLコマンドを一緒に入れて使用することができますパラメータを取得します。プロシージャは何とか呼び出さなければなりません。 sqlplusから呼び出すことも、Webサーバーやデスクトップアプリケーションから実行することもできます。最後の4行は、sqlplusから呼び出す方法の例として書いてあります。 Sqlplusは、ユーザーからの入力をプロンプトして読み取ることができます。
pl/sqlにプロンプトが表示されません。 EXECUTE IMMEDIATEを使用して動的SQLを実行します。 – OldProgrammer
それでは、 'create users'ステートメントをEXECUTE IMMEDIATEにするためにpl/sqlで書くべきですか?あなたは例を挙げることができますか?ネストした表の配列からユーザー名を取ることを検討してください。 –
[Liquibase](http://www.liquibase.org/)などのプログラムビルドライブラリを調査しましたか? – APC