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;
/