sql >> Databasteknik >  >> RDS >> Oracle

Hur man delar upp Oracle sql-satser för ADO.NET

Utan DDL kan du skapa ett anonymt PL/SQL-block genom att omge satserna med BEGIN och END:

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

För att utföra DDL (som CREATE TABLE) måste du använda dynamisk 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;

INLEGARNA är också dynamiska, eftersom tabellen inte existerar innan blocket körs och därför skulle den misslyckas med att kompilera.

OBS:Detta skulle vara ett ovanligt krav:applikationer ska normalt inte skapa tabeller!



  1. PDO-värdeökning PHP, Mysql

  2. Hur to_number()-funktionen fungerar i PostgreSQL

  3. Utlösare för att uppdatera överordnad kolumn baserat på antalet underordnade tabeller

  4. Hur STR_TO_DATE() fungerar i MariaDB