系统特性 select systimestamp from dual; orclsystimestamp 20230824 14:30:16.496373+08 (1 row) teledb merge into teledb create table test1(id int primary key,name varchar2(10)); CREATE TABLE teledb insert into test1 values(1,'test1'); INSERT 0 1 teledb insert into test1 values(2,'test1'); INSERT 0 1 teledb insert into test1 values(3,'test1'); INSERT 0 1 teledb create table test2(id int primary key,name varchar2(10)); CREATE TABLE teledb insert into test2 values(2,'test2'); INSERT 0 1 teledb insert into test2 values(3,'test2'); INSERT 0 1 teledb insert into test2 values(4,'test2'); INSERT 0 1 teledb insert into test2 values(5,'test2'); INSERT 0 1 teledb MERGE INTO test1 t teledb USING ( teledb( select from test2 teledb( ) t2 ON (t.id t2.id) teledb WHEN MATCHED THEN UPDATE SET t.name t2.name WHERE t.id t2.id teledb WHEN NOT MATCHED THEN INSERT (id,name) VALUES (t2.id, t2.name) ; MERGE 4 teledb select from test1; id name + 1 test1 2 test2 3 test2 4 test2 5 test2 (5 rows) connect by 使用level实现1到5的序列。 teledb select level from dual connect by level<5; level 1 2 3 4 5 (5 rows) pivot create table scores(student varchar(10) not null, course varchar(10) not null,score int not null); insert into scores values('张三','语文',78); insert into scores values('张三','语文',98); insert into scores values('张三','数学',79); insert into scores values('张三','英语',80); insert into scores values('张三','物理',81); insert into scores values('李四','语文',65); insert into scores values('李四','数学',75); insert into scores values('李四','英语',85); insert into scores values('李四','物理',95); select from scores pivot ( sum(score) for student in ('张三','李四') ); course '张三' '李四' ++ 英语 80 85 数学 79 75 物理 81 95 语文 176 65 (4 rows)