(1) + 匹配,非主表
oracle中的(+)是一种特殊的用法,(+)表示外连接,并且总是放在非主表的一方。
例如
左外连接:select A.a,B.a from A LEFT JOIN B ON A.b=B.b;
等价于select A.a,B.a from A,B where A.b = B.b(+);
再举个例子,这次是右外连接:select A.a,B.a from A RIGHT JOIN B ON A.b=B.b;
等价于select A.a,B.a from A,B where A.b (+) = B.b;
(2)nvl(sum(amt), 0) 非空的返回
(3) INSERT、UPDATE 和 DELETE 命令可以附加可选的 RETURNING INTO 子句。此子句允许 SPL 程序分别从 INSERT、UPDATE 或 DELETE 命令的结果中捕获新添加的、修改的或删除的值
declare
v_sendFlag number(1);
v_serialNum NUMBER(8);
v_id VARCHAR2(10);
begin
update student set sendFlag=0 where id='qA23868035'
returning sendFlag,serialNum,id into v_sendFlag,v_serialNum,v_id;
end;
(3) orical中versions_startscn,为扫描开始版本,基本可以确定 入库的执行顺序。
order by 1 desc,按照第一列倒序排列。
select VERSIONS_STARTSCN,
VERSIONS_ENDSCN,
VERSIONS_STARTTIME,
VERSIONS_ENDTIME,
VERSIONS_XID,contractnum,SERIALNUM,SENDFLAG,STATUS,
T.*
from student VERSIONS BETWEEN TIMESTAMP to_timestamp('2023-11-16 14:58:00','YYYY-MM-DD HH24:MI:SS') AND to_timestamp('2023-11-16 15:25:00','YYYY-MM-DD HH24:MI:SS') T
where OCCURTIME = '20231116145828'
and SERIALNUM in ('280107','280108','280109'
,'280110'
,'335021','335022'
,'335023')order by 1 desc
651

被折叠的 条评论
为什么被折叠?



