Без 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;
Вмъкванията също са динамични, тъй като таблицата не съществува преди изпълнението на блока и затова няма да успее да се компилира.
ЗАБЕЛЕЖКА:Това би било необичайно изискване:приложенията обикновено не трябва да създават таблици!