Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Tworzenie użytkownika Oracle, jeśli jeszcze nie istnieje

IF NOT EXISTS składnia dostępna w SQL Server, nie jest dostępna w Oracle.

Ogólnie rzecz biorąc, skrypty Oracle po prostu wykonują CREATE instrukcji, a jeśli obiekt już istnieje, otrzymasz błąd wskazujący to, który możesz zignorować. To właśnie robią wszystkie standardowe skrypty wdrażania Oracle.

Jeśli jednak naprawdę chcesz sprawdzić istnienie i wykonać tylko wtedy, gdy obiekt nie istnieje, unikając w ten sposób błędu, możesz zakodować PL/SQL blok. Napisz SQL który sprawdza istnienie użytkownika, a jeśli nie istnieje, użyj EXECUTE IMMEDIATE zrobić CREATE USER z PL/SQL blokować.

Przykładem takiego bloku PL/SQL może być:

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Czy można generować modele django z bazy danych?

  2. Wymiana części pakietu Oracle

  3. Jak uruchomić inny sql, aby uzyskać dane zgodnie z poprzednimi danymi wejściowymi w czajniku pentaho?

  4. Zapisana procedura z wieloma parametrami IN

  5. Jak znaleźć nazwę usługi Oracle?