oracle 批量新建索引SQL

user_tables:当前用户表信息,参数如下:

UNIQUE:是唯一键索引,如果建非唯一键索引SQL语句去掉此关键词即可;

table_name :表名;

tablespace_name :表空间名

第一步了解新建一条索引的sql:CREATE UNIQUE INDEX  索引名 on 表名(想要创建索引的列名) TABLESPACE 表空间名;

第二步查看当前用户表空间存在那些表:select table_name,tablespace_name from user_tables;

第三步用sql返回创建索引的变量的值,我这里以列名ID为例,就可以将批量新建索引的SQL语句拼接出来了,如下:

SELECT
    'CREATE UNIQUE INDEX ' || table_name || '_IDX_ID ON ' || table_name || '(ID) TABLESPACE ' || tablespace_name || ';'
FROM
    user_tables;

执行后,得到如下结果,如图:

oracle 批量新建索引SQL_第1张图片

第四步将结果信息复制出来执行下就可以了

你可能感兴趣的:(oracle数据库)