Uden DDL kunne du oprette en anonym PL/SQL-blok ved at omgive udsagn med BEGIN og END:
BEGIN
INSERT INTO foo (bar) VALUES('one');
INSERT INTO foo (bar) VALUES('two');
END;
For at udføre DDL (som CREATE TABLE) skal du bruge 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;
INSERTS er også dynamiske, da tabellen ikke eksisterer før kørsel af blokken, og derfor ville den ikke kunne kompilere.
BEMÆRK:Dette ville være et usædvanligt krav:applikationer skal normalt ikke oprette tabeller!