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='表名'