1、案例说明
通过存储过程,在保留原表的数据、表结构、约束、索引,以及表和字段注释的前提下,一键重新创建表。
2、环境准备
(1)创建存储过程的用户需要有数据字典视图DBA_TABLES、DBA_CONSTRAINTS、DBA_TAB_COMMENTS、DBA_COL_COMMENTS的查询权限。
grant select any dictionary to user
(2)执行存储过程的用户需要显示赋予删除表、创建表、创建索引权限。
DROP ANY TABLE
CREATE ANY TABLE
CREATE ANY INDEX
3、存过实现
CREATE OR REPLACE PROCEDURE P_F_TAB_RECREATE(P_OWNER VARCHAR2,
P_TABLE VARCHAR2) AUTHID CURRENT_USER AS
/* ================================================================================= *\
* 名称: 重新创建表
* 参数: P_OWNER:用户名;P_TABLE:表名
* 描述:1:
2:
3: