Nếu không có DDL, bạn có thể tạo một khối PL / SQL ẩn danh bằng cách bao quanh các câu lệnh bằng BEGIN và END:
BEGIN
INSERT INTO foo (bar) VALUES('one');
INSERT INTO foo (bar) VALUES('two');
END;
Để thực hiện DDL (như TẠO BẢNG), bạn sẽ cần sử dụng PL / SQL động:
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 cũng động, vì bảng không tồn tại trước khi chạy khối và do đó, nó sẽ không biên dịch được.
LƯU Ý:Đây sẽ là một yêu cầu bất thường:các ứng dụng thường không nên tạo bảng!