ユーザーがまだ存在しない場合にユーザーを作成するスクリプトを作成しようとしています。
CREATE USER "Kyle" PROFILE "DEFAULT" IDENTIFIED BY "password" ACCOUNT UNLOCK
WHERE NOT IN //Also tried 'WHERE NOT EXISTS'
(
SELECT username FROM all_users WHERE username = 'Kyle'
)
次のエラーが表示されます。
SQL エラー: ORA-00922: オプションが見つからないか無効です
以下を使用して、SQL Server 2008 でこれを行うことができました。
IF NOT EXISTS
(SELECT name FROM master.sys.server_principals
WHERE name = 'Kyle')
BEGIN
CREATE LOGIN Kyle WITH PASSWORD = 'temppassword' MUST_CHANGE, CHECK_EXPIRATION=ON, CHECK_POLICY=ON
END
新しいユーザーを作成しようとする前に、ユーザーが既に存在するかどうかを確認する同様の方法が Oracle にありますか?