डीडीएल के बिना, आप BEGIN और END के साथ बयानों को घेरकर एक अनाम PL/SQL ब्लॉक बना सकते हैं:
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;
INSERTS भी गतिशील हैं, क्योंकि ब्लॉक चलाने से पहले तालिका मौजूद नहीं है और इसलिए यह संकलित करने में विफल हो जाएगी।
नोट:यह एक असामान्य आवश्यकता होगी:अनुप्रयोगों को सामान्य रूप से टेबल नहीं बनाना चाहिए!