Oracle merge into语法简介

Oracle 9i开始引入了merge into 语法,能够同时对表进行update或insert操做。固然是基于某个条件之上。sql

语法示例以下:code

MERGE INTO user u1  
USING (SELECT 1 AS id,2 AS name FROM dual) u2  
ON (u1.id = u2.id)  
WHEN MATCHED THEN  
    UPDATE SET u1.name = u2.name  
WHEN NOT MATCHED THEN  
    INSERT (id,name) VALUES(u2.id,u2.name);

能够这么理解:将u2合并入u1,条件为 u1.id = u2.id。当条件匹配时,执行update语句,当不匹配时,执行insert语句。索引

--------------------------------table

操做索引相关sqlclass

select * from all_indexes where table_name='表名' and owner='用户名';  --查询某用户下某张表的全部索引     
  
create index 索引名 on 表名 (列名) --建立索引  
  
alter index 旧索引名 rename to 新索引名;  --修改索引名称  
    
ALTER INDEX 索引名 COALESCE; --合并索引  
    
ALTER INDEX 索引名 REBUILD;  --重建索引  
  
DROP INDEX 索引名; --删索引  
  
--查询表注释  
select * from user_tab_comments where table_name='表名';  
--user_tab_comments:table_name,table_type,comments  
--相应的还有dba_tab_comments,all_tab_comments,这两个比user_tab_comments多了ower列。  
  
--获取字段注释:  
select * from user_col_comments where table_name='表名';  
--user_col_comments:table_name,column_name,comments  
  
--查询表约束  
select constraint_name from dba_constraints where table_name='表名'
相关文章
相关标签/搜索