Build up the CREATE TABLE statement and run it with EXECUTE IMMEDIATE
SQL> SQL> SET ECHO ON SQL> SQL> CREATE OR REPLACE PROCEDURE make_mytable ( 2 username IN VARCHAR2 3 ) AS 4 create_stmt VARCHAR2(200); 5 BEGIN 6 create_stmt := 'CREATE TABLE ' 7 || username || '.mytable' 8 || '(myrow NUMBER, mydesc VARCHAR2(50))'; 9 10 EXECUTE IMMEDIATE create_stmt; 11 END; 12 / Procedure created. SQL> SQL> SQL> --