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

Как да разделя Oracle sql изрази за ADO.NET

Без DDL бихте могли да създадете анонимен PL/SQL блок, като оградите изразите с BEGIN и END:

BEGIN
  INSERT INTO foo (bar) VALUES('one');
  INSERT INTO foo (bar) VALUES('two');
END;

За да извършите DDL (като CREATE TABLE), трябва да използвате динамичен PL/SQL:

BEGIN
  EXECUTE IMMEDIATE 'CREATE TABLE foo (bar VARCHAR2(100))';
  EXECUTE IMMEDIATE 'INSERT INTO foo (bar) VALUES(:v)' USING 'one';
  EXECUTE IMMEDIATE 'INSERT INTO foo (bar) VALUES(:v)' USING 'two';
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. Какъв е ефективен начин за проследяване, идентифициране и докладване на всяко „съобщение за грешка“, изведено от вашето приложение?

  2. препратка към съставен ключ в Oracle

  3. Проблем с процедурата за изпълнение в PL/SQL Developer

  4. Oracle PL/SQL процедурата работи по-бавно от SQL

  5. Ключовата дума FROM не е намерена там, където се очаква (Oracle SQL)