Oracle_PL/SQL
文章平均质量分 77
PL/SQL相关
黄炎龙
这个作者很懒,什么都没留下…
展开
-
PL/SQL学习笔记(一):声明变量
PL/SQL基础学习之声明变量。原创 2014-03-02 23:37:41 · 1317 阅读 · 0 评论 -
创建主键(举例)
创建主键(举例)SQL> alter table emp_ogg add constraint PK_empno primary key(empno); --创建主键查询某表有哪些约束SQL> desc user_constraints; Name Null?原创 2014-06-19 21:27:40 · 1236 阅读 · 0 评论 -
SQL_字符操作函数
原创作品,出自 “深蓝的blog” 博客,欢迎转载,转载时请务必注明以下出处,否则追究版权法律责任。深蓝的blog: 思维导图:用简单的例子演示,如下列举,用最简单的操作体会字符操作函数的用法:concat函数SQL> select ename,job,concat(ename,job) from emp;ENAME JOB CONCAT(ENAM原创 2014-10-18 17:56:12 · 1742 阅读 · 0 评论 -
SQL_wm_concat函数实验:实现字段合并
wm_concat函数:字段合并函数目标:根据某字段相同值,实现其它某字段合并 【实验】使用实验scott用户下的emp表SQL> select * from emp;--先来查看一下emp表的全部内容EMPNO JOB MGR HIREDATE SAL COMM DEPTNO ENAME----- --------- -原创 2014-11-21 12:39:46 · 5438 阅读 · 0 评论 -
SQL_编写一个简单的删除员工信息的存储过程
原创作品,出自 “深蓝的blog” 博客,欢迎转载,转载时请务必注明以下出处,否则追究版权法律责任。深蓝的blog: 开始实验:(1)、查询原始数据,使用scott用户进行试验SQL> select t.*, t.rowid from EMP t(2)、编写存储过程并执行,如下:create or replace procedure P_dele原创 2015-02-25 17:37:56 · 9481 阅读 · 2 评论 -
备考ocp_SQL专题之DELETE
原创作品,出自 “深蓝的blog” 博客,欢迎转载,转载时请务必注明以下出处,否则追究版权法律责任。深蓝的blog: delete演示:1、查询实验数据2、删除表数据3、该会话下查询数据4、回滚数据5、回滚后,再次查看数据题库模拟: 167、DELETE167. Evaluate the following DELETE stat原创 2015-02-26 22:49:48 · 2085 阅读 · 0 评论 -
SQL_Oracle 表中ID字段的自动递增
原创作品,出自 “深蓝的blog” 博客,欢迎转载,转载时请务必注明以下出处,否则追究版权法律责任。深蓝的blog: 目标:实现向一张表中插入数据时,ID字段自动递增。开始实验:(1)、创建实验表createtable test_ID_add(IDNUMBER(10),USERNAME VARCHAR2(32),TEL VARCHAR2(11),CR原创 2015-02-25 15:27:09 · 6728 阅读 · 0 评论 -
抽取、清洗varchar2到number类型数据的方法(由繁到简)
原创作品,出自 “深蓝的blog” 博客,欢迎转载,转载时请务必注明出处,否则追究版权法律责任。深蓝的blog: 【背景】进行数据抽取时,抽取“联系电话”字段时,发现存在部分中文、英文,需要对该字段进行清理。 【垃圾数据存在原因】如果有“联系电话”这样的字段,在设计之初就设置为number,而不是设置成varchar2,再在前端软件做一个约束,相信就不会有这样存在英文或原创 2015-05-28 08:52:54 · 2573 阅读 · 0 评论 -
X-manager下使用sqlplus退格输出"^H"解决
原创作品,出自 “深蓝的blog” 博客,欢迎转载,转载时请务必注明出处,否则追究版权法律责任。深蓝的blog: 在使用xmanager远程连接linux系统后,使用sqlplus时发现,删除键都是乱码,如下:解决方法:方法一:[root@bjbank ~]# vi .bash_profile--添加stty erase ^H# .bash_profile#原创 2015-05-20 21:49:13 · 1918 阅读 · 0 评论 -
SQL_使用DBMS_METADATA.GET_DDL生成建表语句
原创作品,出自 “深蓝的blog” 博客,欢迎转载,转载时请务必注明以下出处,否则追究版权法律责任。深蓝的blog:今天在群里学来一着,通过DBMS_METADATA.GET_DDL来生成建表或视图的sql语句。(1)、生成创建表的sql语句SQL> set long 20000;SQL> SELECT DBMS_METADATA.GET_DDL('TABLE','TE原创 2015-02-28 18:16:17 · 2560 阅读 · 0 评论 -
oracle表名、字段名等对象的命名长度限制
原创作品,出自 “深蓝的blog” 博客,欢迎转载,转载时请务必注明出处,否则追究版权法律责任。深蓝的blog: 今天在为某系统数据库结构整理升级脚本时,遇到了“命名字节过长的错误”,类似于下面的截图语句: 由于升级的结构中对于字段名的命名根据业务进行了修改,出现了命名过长的情况。这里想说一下,对于oracle,表名、字段名等对象命名字节个数限制在了30个字节!是原创 2015-05-20 00:16:21 · 20205 阅读 · 5 评论 -
SQL_修改表结构
SQL_修改表结构说明实验环境:利用scott用户数据,简单举例修改表结构范例SQL> create table emp1 as select * from emp;Table created--创建实验表1. 表中添加新列(1)、语法SQL> alter table 表名 add (列名 数据类型 [,列名 数据类型] ...); (2)、注意事项新添原创 2014-10-03 20:10:03 · 13482 阅读 · 0 评论 -
oracle利用游标单条插入数据举例
原创作品,出自 “深蓝的blog” 博客,深蓝的blog:背景近日有哥们问我如何实现多条数据以单条的方式插入到目标表里,为解决这个问题,下面来做个小实验。 交流过程如下:下面,我们举例用cursor来完成这个目标。(1)、实验准备首先,建立一个实验表,如下:createtable EMP( empno NUMBER(4)notnull,原创 2015-07-30 10:21:44 · 5560 阅读 · 1 评论 -
数据清洗小记(5):主键类ID字段的生成
【背景】在由源端抽取数据插入目标端后,需要创建一个主键ID字段。 【解决】方法一、使用sys_guid()函数生成32位的随记数例如向emp表中,新建一个字段,并且设置字段默认值为用sys_guid()函数自动生成一个32位不重复的随机数。altertable EMPaddIDvarchar2(32)default sys_guid(); 方法二、使用触发器原创 2015-06-03 14:03:59 · 1574 阅读 · 0 评论 -
数据清洗小记(3):判断是否为数字函数
【背景】在处理数据时,在向为number类型的字段插入数据的时候,出现大量中文或无意义英文,查看发现均为垃圾数据,需要清洗。 【解决】计划调用数字判断函数来完成判断,如果判断为数字类型的,存入数据,如果为非数字类型的,赋空值处理。编写“判断是否为number”函数,如下:createorreplacefunction isnum(v_in varchar2)retu原创 2015-06-03 09:01:57 · 1553 阅读 · 0 评论 -
数据清洗小记(2):全角数字转换半角数字
【背景】在将某数字类型字段插入到目标端时,报错,提示类型不正确,查看数据发现确实为number,但发现为“全角”数字。 【解决】利用函数,将“全角”转换成“半角”,使用如:to_single_byte()函数,对其转换,转换成半角后,成功存入数据库。另外,如果遇到需要“半角”转换成“全角”的场合时,可以使用to_multi_byte()函数。 【实验】小知识原创 2015-06-03 08:56:04 · 2881 阅读 · 0 评论 -
数据清洗小记(1):正确英文日期转换报“无效的月份”
原创作品,出自 “深蓝的blog” 博客,欢迎转载,转载时请务必注明出处,否则有权追究版权法律责任。深蓝的blog: 【背景】 数据中出现“9-Jun-14”格式数据,在将其存入日期格式字段时,需要进行转换,但是一个标准的日期出现了报“无效月份”的报错。 【解决】 经过检查后,发现了问题不是出在日期上,而是出在系统的语言上,在操作系统中无法原创 2015-06-03 08:51:22 · 2177 阅读 · 0 评论 -
数据清洗小记(6):“时间段”数据获取小心错误的习惯
原创作品,出自 “深蓝的blog” 博客,欢迎转载,转载时请务必注明出处,否则有权追究版权法律责任。深蓝的blog: 【背景】某项目中,有查询时间段的业务需求,java代码类似如下:and BANKJLSJ_BANKJLSJSSJto_date( #{endDate},’yyyy-mm-dd’)and BANKJLSJ_BANKJLSJSSJ=]]> to_da原创 2015-06-11 09:33:10 · 1634 阅读 · 0 评论 -
删除重复行SQL举例
删除重复行SQL实验简单举例说明:实验按顺序进行,前后存在关联性,阅读时请注意,打开目录更便于查看。构造实验环境:SQL> select count(*) from emp; COUNT(*)---------- 14SQL> alter table EMP drop constraint PK_EMP CASCADE;--删除主原创 2014-07-06 18:41:10 · 1297 阅读 · 3 评论 -
简述SQL中的外连接
简述SQL中的“外连接” 1、SQL中外连接分为三种:左外连接、右外连接、全外连接。2、英文书写格式:左外连接:LEFT OUTER JOIN(LEFT JOIN);右外连接:RIGHT OUTER JOIN(RIHT JOIN);全外连接:FULL OUTER JOIN(FULL JOIN)。3、简记:左外连接显示“左边全部的”和“右边与左边相同的”;右外原创 2014-02-27 00:44:17 · 3542 阅读 · 0 评论 -
SQL基础知识体系图(二)
原创 2014-03-02 16:00:21 · 1595 阅读 · 0 评论 -
简述decode(comm,null,0,comm)
decode()函数 例:decode(comm,null,0,comm) 说明:decode(column1,value1,output1,value2,output2,output3)对column1列执行DECODE函数,如果column1有一个值为value1,那么将会用output1来代替当前值,如果column1有一个值为value2,那么将会用output2来原创 2014-02-26 21:41:00 · 3610 阅读 · 0 评论 -
处理表达式中的空值:nvl()举例
select sal+nvl(comm,0)from emp; sal和comm是数据库中的字段,这是数据库练习表中的两列,表示工资和奖金,整条语句是为了统计每个员工的全年收入。因为comm的值有时某员工为0,而在表中表示为null,在参与数学表达式计算时会让整体结果输出为0,所以要想办法对参与计算的null值进行处理。于是引入了nvl(comm,0),这个表示的是如果comm原创 2014-02-26 21:12:27 · 3547 阅读 · 0 评论 -
SQL基础知识体系图(一)
原创 2014-03-02 12:37:08 · 1612 阅读 · 0 评论 -
Oracle内连接、外连接、右外连接、全外连接小总结
数据库版本:Oracle 9i表TESTA,TESTB,TESTC,各有A, B两列AB00110A00220AAB00110B00330B转载 2014-02-27 00:57:08 · 906 阅读 · 0 评论 -
SQL_sql的简单查询
***********************************************声明*********************************************************************** 原创作品,出自 “深蓝的blog” 博客,欢迎转载,转载时请务必注明出处,否则追究版权法律责任。深蓝的blog:***************原创 2014-10-08 22:49:45 · 1935 阅读 · 0 评论 -
SQL_如何实现用户A的表A数据插入到用户B的表B中?
***********************************************声明*********************************************************************** 原创作品,出自 “深蓝的blog” 博客,欢迎转载,转载时请务必注明出处,否则追究版权法律责任。深蓝的blog:***************原创 2014-10-08 22:23:08 · 3535 阅读 · 0 评论 -
SQL_DML简单操作
***********************************************声明*********************************************************************** 原创作品,出自 “深蓝的blog” 博客,欢迎转载,转载时请务必注明出处,否则追究版权法律责任。深蓝的blog:***************原创 2014-10-08 22:31:27 · 1838 阅读 · 0 评论 -
SQL_由创建表引出
***********************************************声明*********************************************************************** 原创作品,出自 “深蓝的blog” 博客,欢迎转载,转载时请务必注明出处,否则追究版权法律责任。深蓝的blog:***************原创 2014-10-09 16:26:32 · 1344 阅读 · 0 评论 -
SQL_substr函数实验
原创作品,出自 “深蓝的blog” 博客,欢迎转载,转载时请务必注明出处,否则追究版权法律责任。深蓝的blog: 【格式】截取函数,可以实现提取字符串中指定的字符数substr( string, start_position, [ length ] )string:源字符串start_position:提取的位置,字符串中第一个位置始终为1[ length ]:提取原创 2014-10-10 18:06:16 · 6390 阅读 · 0 评论 -
SQL_查找用户的表属于哪个表空间
思路:根据区找到数据文件号,然后根据文件号在dba_data_files找到数据文件的路径,我们使用一条语句,通过表连接对数据进行关联。 样例:SQL> select b.file_name,a.owner,a.segment_name from dba_extents a,dba_data_files bwhere a.file_id=b.file_id and a.segmen原创 2014-10-03 15:54:47 · 3685 阅读 · 0 评论 -
SQL_为表和列加注释
***********************************************声明*********************************************************************** 原创作品,出自 “深蓝的blog” 博客,欢迎转载,转载时请务必注明出处,否则追究版权法律责任。深蓝的blog:***************原创 2014-10-03 13:15:52 · 8193 阅读 · 0 评论 -
由查找session IP 展开---函数、触发器、包
由查找session IP 展开---函数、触发器、包一、userenv函数、sys_context函数 --查看当前客户端会话的session IP信息SQL>select sys_context('userenv','ip_address') from dual;SYS_CONTEXT('USERENV','IP_ADDRESS')-------------原创 2014-07-04 13:39:21 · 1697 阅读 · 0 评论 -
ORA-00911:无效的字符错误
ORA-00911:无效的字符错误——由编译环境下一个小错误引起 实施某功能脚本语句,编译时,出现了ORA-00911错误,当时有些疑惑,之前生产库使用是没有问题的,经过一番检查后发现原来是一个很细微的地方发生了错误。以下模拟一个简单的实验举例。 用简单的方法重演:(注意:此时出现了????乱码,是需要调整字符设置,与本次实验无关的,但由于不影响本次实验,暂不处理,处理方法可参原创 2014-07-24 23:07:34 · 19368 阅读 · 1 评论 -
ORA-00913错误:PL/SQL: ORA-00913: too many values
ORA-00913错误描述:PL/SQL: ORA-00913: too many values目标:编写一个可以循环插入数据的脚本操作过程:SQL> desc tcustmerName Null? Type ----------------- -------- -------------------------原创 2014-06-20 22:38:49 · 8027 阅读 · 0 评论 -
SQL学习_脉络图总结_2014.3.2
SQL基础学习总结1、脉络图直观展示,理清知识体系;2、便于记忆;3、便于不断完善、更正。原创 2014-03-02 15:51:39 · 1747 阅读 · 0 评论 -
ORA-00942:表或视图不存在 低级错误一例
ORA-00942:表或视图不存在 低级错误一例 执行查询语句,报ORA-00942错误 检查后发现没有指定表的所属用户,添加用户,再次查询,查询正常,截图如下: ***********************************************声明*********************************************原创 2014-07-24 23:50:46 · 3754 阅读 · 0 评论 -
数据清洗小记(4):多用户调用同一个函数
原创作品,出自 “深蓝的blog” 博客,欢迎转载,转载时请务必注明出处,否则有权追究版权法律责任。深蓝的blog: 【背景】 做数据抽取时,源端遇到多用户访问不同所属表情况,需要使用相同的函数时,在多用户下需要重新创建。 【解决】 多用户下遇到使用相同函数的情况时,我们可以选择重新创建函数,但有时由于函数过多,执行起来不方便,每个用户都执行原创 2015-06-03 09:09:18 · 1591 阅读 · 0 评论