oracle批量生成表主鍵及索引語句

主鍵:

select *

from user_cons_columns a, user_constraints b
where a.constraint_name = b.constraint_name
and b.constraint_type = 'P'
and a.table_name = upper('表名')

 

select a.constraint_name,a.TABLE_NAME,count(a.constraint_name),concat('alter table ', concat(a.TABLE_NAME,concat(' add constraint ',concat(a.constraint_name , concat(' primary key (',concat(wmsys.wm_concat(a.column_name),');'))))))
from user_cons_columns a, user_constraints b where a.constraint_name = b.constraint_name and b.constraint_type = 'P'
and a.table_name in ( '表名1','表名2') group by a.constraint_name,a.TABLE_NAME

 

-- 索引 create index IDX_USER_STA on USERTAB (STATUS);
select c.INDEX_NAME,count(c.INDEX_NAME), c.TABLE_NAME,
concat( ' create ' ,concat( ' index ' ,concat( c.INDEX_NAME ,concat( ' on ',concat(c.TABLE_NAME,concat(' (',concat(wmsys.wm_concat(c.COLUMN_NAME),');')))))))
,i.index_type

from user_ind_columns c, user_indexes i
where c.index_name = i.INDEX_NAME
and i.table_name in ('表名')
and i.index_name not in (
'主鍵索引名字'
) group by c.INDEX_NAME, c.TABLE_NAME, i.index_type order by table_name;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章