![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
oracle
Jolly_lei
I am the storm
展开
-
Oracle存储过程里的Update疑似失效的原因
Update操作在存储过程里的那些事问题描述问题模拟 开发环境:Oracle 11g r2 , pl/sql 问题描述 今天工作中遇到了一个很惊奇的问题,用存储过程更新一个表里的字段时,就是无法正常更新进去。在sql script里手动update后就能正常更新,询问了一个大神,找到了原因–就是用for循环游标一条一条更新,之前的残余数据不会被清除,特此记录下,执行更新前一定要清理历史数据。 问题...原创 2019-12-05 23:00:03 · 905 阅读 · 0 评论 -
将Oracle字符串根据固定分隔符"切开"
对oracle的字符串进行拆分 运行环境:oracle11g、pl/sql developer 利用oracle程序块将"1,2,3,“这个字符串进行切割,取出"1”、“2”、"3"来。 可以利用substr函数和instr函数这俩函数,substr函数作为手术刀,instr函数作为标记切割位置的标尺(有点像操作系统里的head,tail那一套) 先回顾一下这俩函数的语法 SUBSTR(字符串,截...原创 2019-10-17 21:07:15 · 1318 阅读 · 0 评论 -
那些年踩过的Oracle字符串的坑
运行环境:oracle11g、pl/sql developer 话不多说,上代码。 1、先建一个表 CREATE TABLE TEST_2019_10_17_ZL(A VARCHAR2(100),B VARCHAR(100)); 2、往里面插点值 INSERT INTO TEST_2019_10_17_ZL VALUES ('11,12,13', '10'); COMMIT; 3、查看下值是否...原创 2019-10-17 19:22:54 · 221 阅读 · 0 评论 -
oracle去除重复行数据(保留重复行的一行)
在oracle实际应用过程中,可能会遇到没有设置主键的表,会出现表的数据重复的情况,比如误操作重复执行插值语句且直接commit,这时候就需要删除重复数据,只保留单一数据,话不多说,代码走起。 建表语句(建个简单的表练手就好) create table del( name varchar2(30), val number); 插值 insert into del values('a',1); i...原创 2019-06-14 17:26:46 · 9035 阅读 · 0 评论 -
Oracle行转列
oracle行转列(感觉不该叫这个名字)小记录 一、工具 win10、oracle 11g(之前版本不支持pivot函数)、pl/sql Developer 建表语句 create table r2c( name varchar2(30), subject varchar2(20), score number ); 插入数据语句 insert into r2c values('kev...原创 2019-06-12 11:22:16 · 5768 阅读 · 0 评论 -
oracle重置序列从1开始
oracle重置序列从1开始 oracle版本号为11g create sequence seq_name; --创建一个叫seq_name的序列,默认从1开始,步长为1 select seq_name.NEXTVAL from dual; select seq_name.NEXTVAL from dual; ...原创 2019-07-04 14:20:11 · 7437 阅读 · 0 评论 -
Oracle在程序块中进行天遍历,周遍历,月遍历
运行环境:oracle 11g 目的:更便捷地跑一些日期相关的存储过程 一、天数遍历 DECLARE M VARCHAR2(20):='2019-08-17'; BEGIN LOOP DBMS_OUTPUT.put_line(M); M:=TO_CHAR(TO_DATE(M,'YYYY-MM-DD')+1,'YYYY-MM-DD'); EXIT WHEN M='2019...原创 2019-09-18 16:38:13 · 667 阅读 · 0 评论