可以有以下几种方法:
1.
CREATE GLOBAL TEMPORARY TABLE TEST_T( ……)ON COMMIT DELETE ROWS;
例如:
CREATE GLOBAL TEMPORARY TABLE TEMP_ROLE_AUTHORITY
(
ROLE_ID NUMBER(4) NOT NULL,
ROLE_NAME NVARCHAR2(25) NOT NULL,
AUTHORITY_ID NUMBER(4) NOT NULL
) ON COMMIT DELETE ROWS;
2.
pl/sql建表的问题其实就是在pl/sql语言中能否执DDL语句的问题,Oracle中提供一包可以完成这个任务,它是DBMS_UTILITY包中的EXEC_DDL_STATEMENT存储过程。
举例:
BEGIN
DBMS_UTILIEY.EXEC_DDL_STATEMENT(
'CREATE TABLE tab_exam
( name varchar2(10),
age number(3),
)'
);
END;