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

Пуснете таблицата, ако съществува

Не можете директно да изпълнявате DDL изрази от PL/SQL блок - вместо това ще трябва да използвате EXECUTE IMMEDIATE:

declare
  i_cnt number;
begin
  select count(1) into i_cnt 
  from dba_tables where table_name=upper('foo') and owner=upper('bar'); 
  if i_cnt > 0 then 
    execute immediate 'drop table foo'; 
  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. Трябва ли да посочим не null за първичен ключ? Oracle/SQL

  2. ORA-21700:обектът не съществува или е маркиран за изтриване за асоциативен масив като входен параметър, извикан от ODP.NET

  3. Помогнете ми да поставя терминологията на Oracle в терминологията на SQL Server

  4. LAST_NUMBER в последователността на оракул

  5. Именувана заявка, собствена заявка или API за критерии