Oracle
 sql >> база данни >  >> RDS >> Oracle

Създаване на потребител на Oracle, ако още не съществува

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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Низ за свързване на Oracle с удостоверяване на Windows

  2. oracle изпълнява незабавно не се изпълнява без никаква грешка

  3. домашна работа - опитвате се да изчислите няколко спирания на полет между два града?

  4. Oracle подреждане на резултатите с помощта на смесена колона varchar, но числова клауза where

  5. Как да експортирате резултатите от заявката в CSV файл в SQL Developer (Oracle)