sql >> データベース >  >> RDS >> Oracle

Oracleユーザーがまだ存在しない場合は作成する

    IF NOT EXISTS SQL Serverで使用可能な構文は、Oracleでは使用できません。

    一般に、OracleスクリプトはCREATEを実行するだけです。 ステートメント、およびオブジェクトがすでに存在する場合は、それを示すエラーが表示されますが、無視してかまいません。これは、すべての標準的なOracleデプロイメントスクリプトが行うことです。

    ただし、本当に 存在を確認し、オブジェクトが存在しない場合にのみ実行してエラーを回避したい場合は、PL/SQLをコーディングできます。 ブロック。 SQLを書く ユーザーの存在を確認し、存在しない場合はEXECUTE IMMEDIATEを使用します CREATE USERを実行するには PL/SQLから ブロック。

    このようなPL/SQLブロックの例は次のとおりです。

    declare
    userexist integer;
    begin
      select count(*) into userexist from dba_users where username='SMITH';
      if (userexist = 0) then
        execute immediate 'create user smith identified by smith';
      end if;
    end;
    /
    


    1. AWSRDSでのMySQLデータベースおよびOracleデータベースでのJDeveloperの使用パート2

    2. TEXT / BLOBを同じテーブルに格納するかどうか?

    3. SQL Server CLR統合は構成ファイルをサポートしていますか?

    4. 文字の4番目の出現からPSQLで指定された文字列の終わりまで部分文字列を取得する方法