Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Tạo Người dùng Oracle nếu nó chưa tồn tại

IF NOT EXISTS cú pháp có sẵn trong SQL Server, không có sẵn trong Oracle.

Nói chung, các tập lệnh Oracle chỉ thực thi CREATE và nếu đối tượng đã tồn tại, bạn sẽ gặp lỗi cho biết điều đó, bạn có thể bỏ qua lỗi này. Đây là những gì tất cả các tập lệnh triển khai Oracle tiêu chuẩn làm.

Tuy nhiên, nếu bạn thực sự muốn kiểm tra sự tồn tại và chỉ thực thi nếu đối tượng không tồn tại, do đó tránh được lỗi, bạn có thể viết mã PL/SQL khối. Viết SQL kiểm tra sự tồn tại của người dùng và nếu nó không tồn tại, hãy sử dụng EXECUTE IMMEDIATE để thực hiện CREATE USER từ PL/SQL khối.

Ví dụ về khối PL / SQL như vậy có thể là:

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. Cách tìm ra kích thước tìm nạp tối ưu cho truy vấn đã chọn

  2. sử dụng hàm rownum với> đăng nhập oracle

  3. cách thêm hơn 1000 giá trị với mệnh đề NOT IN

  4. ORA-00907 khi cố gắng tạo ràng buộc KIỂM TRA

  5. ORA-00913 quá nhiều giá trị