Bez DDL byste mohli vytvořit anonymní blok PL/SQL tím, že příkazy obklopíte BEGIN a END:
BEGIN
INSERT INTO foo (bar) VALUES('one');
INSERT INTO foo (bar) VALUES('two');
END;
K provedení DDL (jako CREATE TABLE) byste museli použít dynamické 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;
VLOŽENÍ jsou také dynamické, protože tabulka před spuštěním bloku neexistuje, a proto by se nezdařila kompilace.
POZNÁMKA:Toto by byl neobvyklý požadavek:aplikace by normálně neměly vytvářet tabulky!