
优快云/nsj820迁移
文章平均质量分 56
由于账号丢失,故将文章迁移至此
BabyFish13
不要急,慢慢来;控制好节奏,奋斗到底!
展开
-
一分多行列转换
问题描述:将以下表方式存放的数据:转换成如下方式存放:2、 实现转换的存储过程3、 说明写代码过程中,用到的中间存储过程:原创 2023-11-13 16:31:07 · 128 阅读 · 0 评论 -
计算字符在字符串中出现的次数
END;END LOOP;END;方法一比较巧妙,也可以不生成函数,直接lengthb结合replace直接select获取;方法二为传统思维。原创 2023-10-07 16:33:06 · 128 阅读 · 0 评论 -
仓库数据增量更新加载算法(支持混乱日期跑批)
此过程代码,对于如12.5号数据已经跑完但发现12.1号那天的源数据有问题的情况,我们只要重新调度12.1的批就可以了,而不必从12.1号一直跑到当天,且能保证数据的完整性;而对于如果发现某一天数据有问题,需要从出错那一天起一直跑到当天的情况,代码如下,可根据实际情况选用。(P_ETLDATE IN VARCHAR2, --日期参数O_RUNSTATUS OUT NUMBER, --执行结果O_MSG OUT VARCHAR2 --错误返回) AS。原创 2023-10-07 16:28:45 · 265 阅读 · 0 评论 -
拉链表的展开算法
第3步中,游标的START_DATE、END_DATE要根据实际情况,灵活变通;代码的EXECUTE IMMEDIATE 'TRUNCATE TABLE EDW_T00_ALL';需要不需要,根据实际情况来定;第2步中生成数据日期维护表,主要用来第3步取数用,目的是保证SYS_MATIAN_DATE表有足够的记录,以使对于每一条历史拉链表中的记录都能取得到;本文给出了我们进行拉链表展开时的一个思路。原创 2023-10-07 16:23:21 · 235 阅读 · 0 评论 -
ORACLE中SQL运算符的优先级
的优先级最低,算术运算符的优先级最高。、同一优先级运算符从左向右执行;可以使用括号改变优先级顺序。、乘除的优先级高于加减;、括号内的运算先执行。原创 2023-10-07 16:18:54 · 559 阅读 · 0 评论 -
oracle的正则表达式(regular expression)
当前,正则表达式已经在很多软件中得到广泛的应用,包括Linux, Unix,HP等操作系统,PHP,C#,Java等开发环境,ORACLE则在10G中推出了自己的正则表达式。Oracle 10g正则表达式提高了SQL灵活性,有效的解决了数据有效性, 重复词的辨认, 无关的空白检测,或者分解多个正则组成的字符串等问题。它们使用POSIX 正则表达式代替了老的百分号(%)和通配符(_)字符。'^' 匹配输入字符串的开始位置,在方括号表达式中使用,此时它表示不接受该字符集合。原创 2023-09-21 11:21:18 · 1359 阅读 · 0 评论 -
层次查询和分析函数(LAG、LEAD)在号段选取中的应用
思路:利用lag取得前一行的kshm,然后和本行的kshm想比,如果差值为1,说明这一行和上一行是连续的。一组连续的数,去掉中间一些数,要求出剩下的数的区间(即号段)例如:一串数字为1,2,3,4,7,9,10,则号段为1-4,7-7,9-10。一组数,中间可能有断点,要求出缺失的数例如:一串数字为1,2,3,4,7,9,10,则缺失的数为5,6,8。知道号段的起止,要求出该号段内所有的数例如:号段为1-3,15-15,则号段内所有的数为1,2,3,15。怎样能查询出来这样的结果,查询出连续的记录来。原创 2023-09-21 11:13:20 · 486 阅读 · 0 评论 -
JLBANK-IRS统计报表相关的两个存储过程
2、 客户评级统计报表3、 总结说明用到的知识点:create global temporary table优点:速度快,效率高,代码易于理解(3)、用DECODE实现一对多表示:V_SMALL_CORP_LOAN_CD是1时取1;是2时取2、3、4;是!时取所有(1、2、3、4)(5)、UNION ALL当计算每一级别的个数与所有级别总和且放在同一结果集中时用到。(6)、REF游标(7)、更新的理解可以先删除再插入,也可以先插入再删除,不用upda原创 2023-09-21 11:03:08 · 140 阅读 · 0 评论 -
一个二维表查询的实现
【代码】一个二维表查询的实现。原创 2023-09-01 11:21:09 · 314 阅读 · 0 评论 -
Oracle中LEFT JOIN后AND与WHERE的异同
【代码】Oracle中LEFT JOIN后AND与WHERE的异同。原创 2023-09-01 11:18:19 · 1299 阅读 · 0 评论 -
Oracle中表级列的默认值控制
【代码】Oracle中表级列的默认值控制。原创 2023-09-01 11:08:13 · 454 阅读 · 0 评论 -
分析函数应用一例(查找状态全为1的ID)
ID中可能会有重复的值,现在要求找出ZT全为1的所有ID值。在表TAB_FXHS中,ID是关键字段,ZT是状态。原创 2023-08-30 16:09:53 · 166 阅读 · 0 评论 -
oracle sql语言模糊查询
零或者多个字符_ 单一任何字符(下划线)/ 特殊字符[] 在某一范围内的字符,如[0-9]或者[aeth][^] 不在某范围内的字符,如[^0-9]或者[^aeth]原创 2023-08-30 16:06:24 · 1806 阅读 · 0 评论 -
ORACLE中UNION、UNION ALL、MINUS、INTERSECT学习
Union:对两个结果集进行并集操作,不包括重复行,同时进行默认规则的排序;Union All:对两个结果集进行并集操作,包括重复行,不进行排序;Intersect:对两个结果集进行交集操作,不包括重复行,同时进行默认规则的排序;Minus:对两个结果集进行差操作,不包括重复行,同时进行默认规则的排序。原创 2023-08-16 13:43:21 · 1879 阅读 · 0 评论 -
Orace及SqlServer的多表关联更新
一条Update更新语句是不能更新多张表的,除非使用触发器隐含更新;而表的更新操作中,在很多情况下需要在表达式中引用要更新的表以外的数据。原创 2023-08-16 13:39:02 · 2033 阅读 · 0 评论 -
ORACLE中判断表是否存在再删除表避免报错与MySql和SqlServer的不同
此例用在数据仓库项目的建T99代码表脚本方案上;此脚本在方案中用Perl根据Excel生成。原创 2023-08-15 16:20:47 · 1710 阅读 · 0 评论 -
oracle分析函数学习
从上面的结果中我们很容易发现,每个统计数据所对应的行都会出现null,如何来区分到底是根据那个字段做的汇总呢,grouping函数判断是否合计列!--------理解rollup。--------理解cube。原创 2023-08-15 16:13:21 · 667 阅读 · 0 评论 -
Oracle分页技术
【代码】Oracle分页技术。原创 2023-08-15 16:05:29 · 601 阅读 · 0 评论 -
ORACLE层次查询学习
如果从root节点开始找其子孙,找到一行,结果发生和祖先互为子孙的情况,则发生循环,oracle会报ORA-01436: CONNECT BY loop in user data,在9i中只能将发生死循环的不加入到树中或删除,在10g中可以用nocycle关键字加在connect by之后,避免循环的参加查询操作。在oracle9i的时候,查找指定root下的叶子节点,是很复杂的,oracle10g引入了一个新的函数,connect_by_isleaf,如果行的值为0表示不是叶子节点,1表示是叶子节点。原创 2023-08-09 10:03:08 · 698 阅读 · 0 评论 -
行列转换两例的思考
当初做的时候,又是用变量,又是用游标,花了一周时间,程序非常繁琐;现在看了下,一个查询语句一个小时不要就搞定;现在想想,那时候水平真是太次了。原创 2023-08-09 09:56:03 · 137 阅读 · 0 评论 -
oracle插入多表(insert all/first)
first:考虑先后关系,如果有数据满足第一个when条件又满足第二个when条件,则执行第一个then插入语句,第二个then就不插入第一个then已经插入过的数据了。原创 2023-08-09 09:49:02 · 900 阅读 · 0 评论 -
一个利用oracle异常处理的函数
【代码】一个利用oracle异常处理的函数。原创 2023-08-09 09:41:16 · 688 阅读 · 0 评论 -
oracle的异常处理
为了处理各种常见的oracle错误,plsql为开发人员提供了二十多个预定义例外,每个预定义例外都对应一个oracle系统错误。:当访问没有初始化的对象时触发。:在case过程中when后没有包含必要的条件分支并且没有else子句,则会触发本异常。:访问未初始化的集合元素(嵌套表或者varray)。:重新打开已经打开的游标。:当中唯一索引所对应的列上键入重复值时。:试图在不合法的游标上执行操作时,譬如没打开游标就提取内容。:当试图将非法的字符串转换为数字类型时。原创 2023-08-09 09:38:41 · 1243 阅读 · 0 评论 -
Oracel通用函数
如果第一个参数为空,则看第二个参数是否是空,否则则显示第一个参数,如果第二个参数是空再看第三个参数是否为空,否则显示第二个参数,依次类推。含义是:【取第一个不为空的参数】=>如果oracle第一个参数为空那么显示第二个参数的值,如果第一个参数的值不为空,则显示第一个参数本来的值;含义是:【与NVL有很大的不同】=>如果该函数的第一个参数不为空那么显示第二个参数的值,如果第一个参数的值为空,则显示第三个参数的值。Coalesce函数的作用与NVL的函数有点相似,取第一个不为空的参数,其优势是有更多的选项。原创 2023-08-04 13:56:11 · 217 阅读 · 0 评论 -
利用临时表、REF游标、动态SQL实现分页查询
1. 变量如果未输入,则将其初始值设为:字符型设为’!’,数字型设为0,便于下面拼动态SQL;2. 本例只是一个最简单的示例,根据需要,以此为例扩展;3. 对以前的东西多看看,多想想,会有很多收获,对目前的工作也很有帮助。原创 2023-08-04 13:51:08 · 201 阅读 · 0 评论 -
ORACLE字符集概念学习
这是因为数据库的字符集决定了SQL与PL/SQL源码的编码方式,对于UTF-16这种使用固定的两个字节来表示英文字母的编码方案来说,确实不适于用作数据库的字符集,ORACLE目前采用的数据库字符集都是基于ASCII或EBCDID作为子集的编码方案。:是从ORACLE9开始使用的属于UTF-8编码的字符集,与UTF8相比,它采用的Unicode版本更新,在10g版本中使用的是Unicode 4.01标准,而UTF8因为兼容性的考虑,在10g版本中用的是Unicode 3.0标准。新加坡等地也使用此编码。原创 2023-08-04 13:43:50 · 999 阅读 · 0 评论 -
parameter files
2)对于参数的配置,pfile可以直接以文本编辑器打开手工配置,而spfile不行,必须在数据库启动后,通过sql命令进行在线修改,当然spfile也可用文本编辑器打开,把里面文本的内容复制出来放在pfile中,但决对不可以直接修改,直接修改后会使文件无法读取。V$PARAMETER2与V$PARAMETER的区别是当某个参数有多个值时,会显示多行,最典型的就是参数control_files,一般的数据库都会指定多个控制文件,在V$PARAMETER中只显示一行,但在V$PARAMETER2会显示多行。原创 2023-08-04 11:30:59 · 144 阅读 · 0 评论 -
Database Name
DB_NAME 数据库名称,也就是数据库的名字标示。这里,数据库里可能有多个实例,比如RAC里的多节点,这多个节点是不同的实例,但是却有相同的名字,他们的 DB_NAME是相同的,但是Instance_name是不同的。DB_NAME会保持在数据文件头里,所以更改DB_NAME不能仅仅修改parameter,还需要用nid 来进行更改,并且更改后还需要手工做些工作,使其生效,一般情况下不建议修改。原创 2023-08-04 11:26:24 · 268 阅读 · 0 评论 -
Control files of Oracle
oracle数据库通过控制文件保持数据库的完整性,一旦控制文件被破坏数据库将无法启动,因此建议采用多路控制文件或者备份控制文件的方法。这个方法叫做多路控制文件,oracle可以利用这个方法恢复被破坏的控制文件,oracle最多允许设置8个多路控制文件。d.数据库运行期间如果一个控制文件变为不可用,那么实例将不再运行,应该终止这个实例,并对破坏的控制文件进行修复。参数设置错误将无法打开数据库,数据库打开以后,实例将同时写入所有的控制文件但是只会读取第一个控制文件的内容。9. 备份信息 (由RMAN负责维护)原创 2023-08-04 11:22:35 · 692 阅读 · 0 评论 -
Oracle锁的学习
在Oracle中最主要的锁是DML(也可称为data locks,数据锁)锁。DML锁的目的在于保证并发情况下的数据完整性。原创 2023-08-04 11:15:22 · 580 阅读 · 0 评论 -
Oracle表段中的高水位线HWM
后来删除这一千万条数据的时候,由于delete语句不影响高水位线,所以高水位线依然在一千万条数据这里。这个时候再一次用select语句进行扫描,虽然这个时候表中没有数据,但是由于扫描是按照高水位线来的,所以需要把一千万条数据的存储空间都要扫描一次,也就是说这次扫描所需要的时间和扫描一千万条数据所需要的时间是一样多的。当插入了数据以后,高水位线就会上涨,但是这里也有一个特性,就是如果你采用delete语句删除数据的话,数据虽然被删除了,但是高水位线却没有降低,还是你刚才删除数据以前那么高的水位。原创 2023-08-04 11:06:38 · 750 阅读 · 0 评论 -
PCTFREE, PCTUSED, INITRANS, MAXTRANS, FREELIST PARAMETERS
一个对象可能不止有一个FreeList,如果预料会有许多并行用户对一个对象进行大量插入和更新操作,配置多个FreeList能提高整体性能,拥有足够的FreeList供使用是很关键的,能极大提高性能,其代价是增加存储空间。对象中的每一个块都有一个块头,块头的一部分是事务表,事务表中的条目描述哪一个事务块上的行或元素被锁定了,事务块的最初大小由INITRANS设置,默认2,当需要时,事务表可以动态增加,大小最多到MAXTRANS(假定块上有足够的空闲空间),每一个分配的事务条目在块头上占用23字节的存储空间。原创 2023-08-03 15:23:05 · 291 阅读 · 0 评论 -
行链接(Row chaining) 与行迁移(Row Migration)
而且通过增加PCTFREE值的办法只能缓解行迁移现象,而不能完全解决行迁移,所以较好的办法是在设置了合适的PCTFREE值的后,在发现行迁移现象比较严重时,对表的数据进行重组。这是因为从索引中会读到数据行的rowid,它告诉数据库到指定文件的指定数据块的指定slot上可以找到需要的数据,但是因为发生了行迁移,此处只存放一个指向数据的指针,而不是真正的数据,所以数据库又需要根据该指针(类似rowid)到指定文件的指定数据块的指定slot上去找真正的数据,重复上面的过程,直到找到真正的数据。原创 2023-08-03 15:18:49 · 711 阅读 · 0 评论 -
exp/imp选项说明
【代码】exp/imp选项说明。原创 2023-08-02 13:15:10 · 177 阅读 · 0 评论 -
EXP/IMP使用技巧总结
导出时,如果列出的数据文件不能完全装载导出的数据,则会提示输入新的数据文件名;导入时,各文件名是作为一个整体(所有导出的数据文件),必须全部列出。在数据导出在可以使用参数文件的方式,但一般认为没有必要;日志文件和数据文件可以保存为以日期结尾的形式。做成BAT文件执行,一直闪,执行不了;在CMD直接运行命令会报错,但不影响导出,是字符集设置问题。原创 2023-08-02 11:28:15 · 486 阅读 · 0 评论 -
ORACLE冷备份及恢复
直接拷贝oracle目录下的admin、oradata(datafile, controlfile,redo)、flash_recovery_area三个文件夹,db_1目录下database(PWDfile、pfile)、dbs(spfile)、NETWORK/ADMIN(listener.ora、tnsnames.ora),到其他存储实现备份。(3):数据覆盖,包括数据文件、参数文件、控制文件、日志文件、pwd文件,放在与原系统相同的目录。(2):正常安装oracle软件,只需要安装软件,不用建实例。原创 2023-08-02 11:17:46 · 672 阅读 · 0 评论 -
通过VBA宏合并Excel工作表
工作中经常会用到的把几个Excel文件合并到一个,或者是把一个Excel文件里的所有Sheet合并到一个Sheet来进行统计。下面分别提供用vba宏来解决这两个问题的方法。原创 2023-08-02 11:15:16 · 5324 阅读 · 2 评论 -
PowerDesigner中将Name的部分值填到Code
在PowerDesigner使用中,有时候可能会用到name中包含一部分中文注释一部分code,中间用一符号分隔,我们想让name中的code自动填写到Code中,采用如下方式。如:在Name列输入 user_name#用户名 则在Code列自动会变成 user_name。原创 2023-08-02 11:10:53 · 302 阅读 · 0 评论 -
UltraEdit使用技巧
如,我当前有个文本文件,需要去掉所有包含 http://www.dbanotes.net/ 这个字符串的行,查找%*http://www.dbanotes.net/*^p 替换成空即可。如果文件的内容里面有 "c:/test.txt" 或者"http://www.163.com/"这样的内容,你可以把鼠标定位到上面,点右键。弹出的菜单最上边会多个选项 "c:/test.txt" 或者"http://www.163.com/"点击它,可以打开相应文件或网页。高级/配置/文件关联 添加.sql的扩展名。原创 2023-08-02 10:46:12 · 1228 阅读 · 0 评论 -
Xshell使用小结
XShell默认最小化是不会到系统托盘的,但是有个选项可以修改,设置在:Tools→Options→Advanced→Minimize to system tray 打钩即可。另外还可以设置点鼠标右键就是粘贴,设置选项在:Tools/Options/general的Right-button;XShell中内置了这一功能,选中内容,鼠标右键,选择"To Notepad",再选中"Select Area"或者"All"或者"Screen"。快捷键:Alt+1~9 或者Ctrl+Tab 或者Shift+Tab。原创 2023-08-02 10:39:43 · 314 阅读 · 0 评论