sql >> Databáze >  >> RDS >> Oracle

Vytvoření uživatele Oracle, pokud ještě neexistuje

IF NOT EXISTS syntaxe dostupná v SQL Server, není dostupná v Oracle.

Obecně skripty Oracle jednoduše spouštějí CREATE a pokud objekt již existuje, zobrazí se chybové hlášení, které můžete ignorovat. To je to, co dělají všechny standardní implementační skripty Oracle.

Pokud však skutečně chcete zkontrolovat existenci a spustit pouze v případě, že objekt neexistuje, čímž se vyhnete chybě, můžete nakódovat PL/SQL blok. Napište SQL který zkontroluje existenci uživatele, a pokud neexistuje, použijte EXECUTE IMMEDIATE k provedení CREATE USER z PL/SQL blokovat.

Příkladem takového bloku PL/SQL může být:

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. SQL Server pivot vs. vícenásobné spojení

  2. Připojte se k Oracle DB pomocí sqlplus

  3. Nejjednodušší způsob, jak postavit strom ze seznamu předků

  4. Schéma databáze systému zasílání zpráv