sql >> Database teknologi >  >> RDS >> Oracle

Oprettelse af en Oracle-bruger, hvis den ikke allerede eksisterer

HVIS IKKE FINDER syntaks tilgængelig i SQL Server, er ikke tilgængelig i Oracle.

Generelt udfører Oracle-scripts simpelthen CREATE sætning, og hvis objektet allerede eksisterer, vil du få en fejl, der indikerer det, som du kan ignorere. Dette er, hvad alle standard Oracle-implementeringsscripts gør.

Men hvis du virkelig ønsker at tjekke for eksistens, og kun udføre, hvis objektet ikke eksisterer, og derved undgå fejlen, kan du kode en PL/SQL blok. Skriv en SQL der kontrollerer brugerens eksistens, og hvis den ikke findes, brug EXECUTE IMMEDIATE at gøre CREATE USER fra PL/SQL blokere.

Et eksempel på en sådan PL/SQL-blok kunne være:

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. Ændring af rækkefølge af poster fra frontend

  2. Eval() viser brugerdefineret værdi, hvis null

  3. Grundlæggende MySQL-forespørgsler

  4. Returnering af parametre i Oracle SQL insert-sætninger