![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
PL.SQL
文章平均质量分 60
面开颜非心开颜
这个作者很懒,什么都没留下…
展开
-
Oracle中Date与TIMESTAMP在实际应用中的坑
最近提数据的时候遇到了一个问题,日志表中有一个响应时间,需求是提取2022年1-3月的相应日志,那么我就根据这个响应时间去提取,例如响应时间是apply_time字段,那么我使apply_time > to_char('2022','yyyy'),逻辑上这样是可以的,根据多次测试,to_cahr 是一个字符串类型,是无法比大小的,而apply_time > to_date('2022','yyyy') ,在实际提取中,只能够提取到三月份,目前时间为2022年3月,应该是在2022...原创 2022-03-24 09:24:19 · 1124 阅读 · 0 评论 -
oracle cusor游标详解
游标声明不占内存打开申请内存多行多列获取每次取一行,关闭隐式游标的属性:SQL%ROWCOUNT成功操作的行的数量SQL%FOUND发现复合条件的行返回TRUESQL%NOTFOUND没有发现复合条件的行回TRUESQL%ISOPEN游标打开状态(boolean)练习12:打印隐式游标属性declarev_countnumber;beginselectcount(*)in...转载 2021-08-19 11:19:00 · 261 阅读 · 0 评论 -
oracle可变数组(VARRAY)
一、可变数组的定义: 可变数组与嵌套表相似,也是一种集合。一个可变数组是对象的一个集合,其中每个对象都具有相同的数据类型。可变数组的大小由创建时决定。在表中建立可变数组后,可变数组在主表中作为一个列对待。从概念上讲,可变数组是一个限制了行集合的嵌套表。 可变数组,允许用户在表中存储重复的属性。例如:假设用户有一个project表,并在项目中指定了工作人员,一个项目可以有多个工人,而一个工人也可以为多个项目工作。在严格的关系模型中,用户可以创建一个project表,一个worker表和存储它们之间转载 2021-08-19 10:41:25 · 2170 阅读 · 0 评论 -
Oracle中单表备份
create table table_name_bk as select * from table_name;用于oracle中单表快速备份如需批量备份可写一个存储过程来完成。原创 2021-08-19 10:39:09 · 161 阅读 · 0 评论 -
PL/SQL函数大全(转)
1.ASCII返回与指定的字符对应的十进制数;SQL> select ascii('A') A,ascii('a') a,ascii('0') zero,ascii(' ') space from dual;A a ZERO SPACE--------- --------- --------- ---------65 97 48 322.CHR给出整数,返回对应的字符;SQL> select chr(...转载 2021-08-18 15:59:50 · 1267 阅读 · 0 评论 -
PLSQL最佳实践
存在性检查--正确姿势:SELECT COUNT(*) FROM dual WHERE EXISTS (SELECT 1 FROM yxxc_gzb);--不正确姿势:SELECT COUNT(*) FROM yxxc_gzb;提防 DDL 提交事务DDL 语句的第一步就是 COMMIT,然后才是执行 DDL 本身,无任命令是否执行成功,都已经提交。所以不要在事务中使用 DDL 语句减少对 sysdate 的调用sysdate 函数在经常会被使用,但它是函数,一定转载 2021-08-18 15:48:28 · 309 阅读 · 0 评论 -
PL/SQL常用函数总结
1.nvl(str1,str2)-- 如果A的值为空 则输出B B为该字段的值select nvl(comm,0) as commfrom emp;输出结果:2.nvl2(a,b,c) --如果a的值不为空,那么取B的值,如果a的值为空,那么取C的值(类似三目运算符)。select empno,ename,deptno, nvl2(comm,1800,0)from emp e where e.deptno <20;输出结果:3.sign...原创 2021-08-18 15:07:34 · 701 阅读 · 0 评论