Oracle基础学习

2020-11-03  本文已影响0人  didadu

写法 含义 显示值
year
yy 两位年 21
yyy 三位年 021
yyyy 四位年 2021
Month
mm 两位月 11
mon 字符集表示 11月/nov
month 字符集表示 11月/november
day
dd 当月第几天 02
ddd 当年第几天 307
dy 当周第几天简写 星期五/fir
day 当周第几天全写 星期五/friday
ddspath 日期在月份中的位置 02
Hour
hh 12小时进制 03
hh24 24小时进制 15
minute
mi 60进制 45
seconed
ss 60进制 25
其他
q 季度 4
ww 当年第几周 44
W 当月第几周 1

获取当前季度:select to_char(sysdate,'q') from dual;


CREATE SEQUENCE 序列名
 [INCREMENT BY n]->定义序列步长,默认为1,负值递减
 [START WITH n]->初始值,默认1
 [{MAXVALUE/ MINVALUE n| NOMAXVALUE}]->最大值 默认没有
 [{CYCLE|NOCYCLE}]->达到最大值,是否循环
[{CACHE n| NOCACHE}]->存放序列内存块大小,默认20
;



//创建游标
cursor 游标 is select 字段 from 表 where 条件
//创建和游标元素类型一样的指定大小的联合数组类型
type 集合变量类型 is varray(大小) of 游标%rowtype
//声明是集合数组类型的变量
集合变量 集合变量类型;
begin 
    fetch 游标 bulk collect into 集合变量 [limit rows];
    //遍历集合,forall批量操作
    //SAVE EXCEPTIONS->当在执行过程中如果遇到异常,数据处理会继续向下进行,发生的异常信息会保存到SQL%BULK_EXCEPTONS的游标属性中
        forall i in 起始值(1) .. 集合变量.count  SAVE EXCEPTIONS
            update 表 set a=b where 集合变量(i);
        COMMIT;
    END
上一篇下一篇

猜你喜欢

热点阅读