Senza il DDL, potresti creare un blocco PL/SQL anonimo circondando le istruzioni con BEGIN e END:
BEGIN
INSERT INTO foo (bar) VALUES('one');
INSERT INTO foo (bar) VALUES('two');
END;
Per eseguire DDL (come CREATE TABLE) dovresti usare PL/SQL dinamico:
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;
Anche gli INSERT sono dinamici, in quanto la tabella non esiste prima dell'esecuzione del blocco e quindi non riuscirebbe a compilare.
NOTA:questo sarebbe un requisito insolito:le applicazioni normalmente non dovrebbero creare tabelle!