您的位置:首页 > 数据库 > Oracle

Oracle merge into语法简介

2017-11-07 00:00 288 查看
Oracle 9i开始引入了merge into 语法,可以同时对表进行update或insert操作。当然是基于某个条件之上。

语法示例如下:

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语句。

--------------------------------

操作索引相关sql

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='表名'
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Oracle