oracle学习笔记

merge into table [alias]
using (table | view | sub_query) [alias]
on (join_condition)
when matched then
update set col1 = col1_val, col2 = col2_val
when not matched then
insert (column_list) values (column_values);
 
 
 
create table test1(eid number(10), name varchar2(20),birth date,salary number(8,2));
insert into test1 values (1001, '张三', '20-5月-70', 2300);
insert into test1 values (1002, '李四', '16-4月-73', 6600);
select * from test1;
create table test2(eid number(10), name varchar2(20),birth date,salary number(8,2));
select * from test2;
merge into test2
using test1
on(test1.eid = test2.eid )
when matched then
update set name = test1.name, birth = test1.birth, salary = test1.salary
when not matched then
insert (eid, name, birth, salary) values(test1.eid, test1.name, test1.birth, test1.salary);
select * from test2;
 
通过保存点在当前的事务中创建标记,将来可回退到指定
的标记(保存点)处,实现事务的部分回滚。
用法举例:
insert into dept values(55,'Adv','Beijing');
insert into dept values(56,'Sec','Shanghai');
savepoint p1;
insert into dept values(57,'Acc','Tianjin');
---
select * from dept;
rollback to p1;
select * from dept;
truncate table语句用于清空表中数据:
清除表中所有记录
释放表的存储空间
为DDL语句,一经执行不可撤消
语法
truncate table table;
truncate table test1;
数据字典视图主要可分为三类
dba - 所有方案包含的对象信息
all - 用户可以访问的对象信息
user - 用户方案的对象信息
举例
--查看当前用户拥有的所有表的名字
select table_name from user_tables;
--查看当前用户可以访问的所有表的名字
select table_name from all_tables;
--查看当前用户拥有的所有对象的类型
select distinct object_type from user_objects;
--查看所有用户拥有的所有对象的类型
select table_name from dba_tables;
 

你可能感兴趣的:(oracle,职场,学习,笔记,休闲)