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