Oracle To Mysql 迁移常用语句

-- 生成UNIQUE索引

with tab as (
select table_name,INDEX_NAME,wm_concat(column_name) over (partition by table_name,INDEX_NAME order by column_position) r,
column_position,max(column_position) over (partition by table_name) maxpos
from user_ind_columns a
where exists (select 0 from user_indexes b where uniqueness ='UNIQUE' and index_type='NORMAL' and a.INDEX_NAME=b.index_name)
and not exists (select 0 from user_constraints c where constraint_type='P' and a.TABLE_NAME=c.table_name)
)
select table_name,INDEX_NAME,to_char(r), 
to_char('alter table '||table_name||' drop index '||index_name||';'),
to_char('alter table '||table_name||' add unique key '||index_name||'('||r||');')
from tab where column_position=maxpos

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