
PL/SQL
PL/SQL学习
w.ang.jie
“在广袤的空间和无限的时间中,能与你共享同一颗行星和同一段时光是我的荣幸。”——卡尔.萨根《宇宙》
展开
-
批量统计Oracle库表数据
create or replace procedure count_t is type type1 is table of number index by pls_integer; type type2 is table of varchar2(200) index by pls_integer; t_count type1; sql_states type2; t type2; var_counter integer :=0; cursor my_原创 2021-08-31 09:51:58 · 1040 阅读 · 0 评论 -
PL/SQL模块学习之十八:PL/SQL中的SQL
重点介绍了动态SQL语句,动态SQL语句更加灵活,适应实际业务需求。包括:1.execute immediate 执行动态语句(语法和注意事项)2.using 和returning into 的使用。(类似Java的输入输出值)3.forall 实现批量处理(提升效率)原创 2020-03-25 13:30:15 · 1157 阅读 · 0 评论 -
PL_SQL模块学习之十七:集合
文章目录集合1 联合数组语法格式2 嵌套表2.1 嵌套表初始化3 变长数组4 多层集合5 集合方法集合1 联合数组也叫索引表,用于存储某个数据类型的数据的集合类型;可通过索引获得联合数组中的数据。语法格式type type_name is table of element_type [not null]index by element_type;table_name type_nam...原创 2020-03-24 09:09:29 · 432 阅读 · 0 评论 -
PL_SQL模块学习之十六、记录
记录用来标识一个逻辑实体,例如一个员工,应包含其名称、性别、入职时间、工资、所属部门、员工号等信息,通过这些属性表示一个员工实体,使用记录则很方便标识员工这个逻辑单元。原创 2020-03-20 12:54:59 · 334 阅读 · 0 评论 -
PL_SQL模块学习之十五、异常
异常是PL/SQL语句在运行时或者编译时的错误。本文重点:1. 使用预定义异常可处理代价经常遇到的 除0错误、no_data_found错误等;2. 使用函数SQLCODE、SQLERRM可以使得用户在完成错误号与错误信息的匹配后,进一步确认错误类型。3. 异常传播与异常处理方法原创 2020-03-20 10:01:45 · 912 阅读 · 0 评论 -
PL_SQL模块学习之十四、包
PL/SQL中,包是一种逻辑载体,蒋业务功能相同的元素集中起来,可实现信息隐藏、业务逻辑隐藏等功能。本文通过实例 讲述如何创建包规范、如何创建包体、如何调用包的过程或者实现函数等需求、私有元素(过程、函数、变量)、以及常有的游标变量如何在包中使用等。原创 2020-03-18 11:13:36 · 734 阅读 · 0 评论 -
PL_SQL模块学习之十三、函数
本篇主要介绍了PL/SQL中的函数概念,语法规则以及如何创建和使用函数的方法。与高级语言中的函数功能一样,PL/SQL中的函数可以用于完成特定的需求任务,并返回指定的数据类型,以便进一步的数据处理。原创 2020-03-17 12:54:03 · 349 阅读 · 0 评论 -
PL_SQL模块学习之十二、存储过程
存储过程在实际项目中运用十分普遍,因为可以简化客户端的编程,将复杂的程序逻辑运算迁移到数据库服务端,并且一旦调用就可被反复使用。特别是引入输入输出参数时,可以提高交互性,是一个十分重要的数据库对象。原创 2020-03-12 15:43:02 · 546 阅读 · 0 评论 -
PL_SQL模块学习之十一、触发器(文末附练习)
Oracle允许使用触发器激发基于表和数据库的行为,例如对表进行DML操作时,使用触发器记录用户的操作轨迹;当数据库启动或者关闭时记录数据库的状态信息等。原创 2020-03-11 17:32:09 · 824 阅读 · 0 评论 -
PL_SQL模块学习之十、游标
详细介绍了游标的使用(包括创建、打开、读取、关闭),游标是PL/SQL编程中操作数据集的对象,使用其可以非常灵活地实现从数据库获取数据集合的操作。通过使用游标属性可以轻松控制程序流程,获取游标状态;使用游标变量和游标表达式可以更加灵活的实现自己的程序逻辑。原创 2020-03-10 17:50:00 · 1624 阅读 · 0 评论 -
PL_SQL模块学习之九、程序流程
1. IF语句1.1 IF-THEN语句语法格式:IF 条件1 THEN 执行语句1; ······ 执行语句n;END IF;EX:SQL> declare 2 var_num number; 3 var_name emp.ename%type := '&ename';--&控制员工姓名输入的变量 4 begin 5 sel...原创 2020-03-09 12:52:25 · 305 阅读 · 0 评论 -
PL_SQL模块学习之七、变量与保留字
变量1.1 变量的定义和初始化变量需提前声明才可被使用常量定义语法:变量名 constant 保留字 数据类型 赋值语句变量声明后的默认值为NULLEX:SQL> declare 2 circle number(10,2); 3 radius number(8,2) :=&r; 4 pai constant num...原创 2020-03-05 16:39:55 · 440 阅读 · 0 评论 -
PL_SQL模块学习之六、数据类型
文章目录数据类型1 CHAR和VARCHAR21.1 VARCHAR21.2 CHAR2 NUMBER3 LONG和LONGRAW3.1 LONG3.2 LONGRAW4 BOOLEAN5 PLS_INTEGER6 DATE和TIMESTAMP6.1 DATE6.2 TIMESTAMP7 ANCHORED8 自定义数据类型8.1 无约束的用户定义子类型8.2 有约束的用户定义子类型数据类型1 ...原创 2020-03-05 16:21:32 · 330 阅读 · 0 评论 -
PL/SQL模块学习之四、数据操纵语言
文章目录1.数据操纵语言1.1 INSERT1.2 UPDATE1.3 DELETE1.数据操纵语言1.1 INSERT语法格式:INSERT INTO tablename [(column [,column ...] ) ] VALUES (value [, value... ] )用户需对该表有操作权限可不使用任何columnvalue值数值类型需与column相匹配EX...原创 2020-03-04 17:51:02 · 245 阅读 · 0 评论 -
PL/SQL模块学习之五、逻辑判断和分组函数
文章目录1.逻辑判断功能1.1 case表达式1.2 DECODE函数2.分组函数1.逻辑判断功能1.1 case表达式数据类型均需一致(VARCHAR2\CHAR等)ex:SQL> SELECT ename,job,sal, 2 CASE job WHEN 'SALESMAN' THEN 1.20*sal 3 WHEN 'MANAGER' THEN 1....原创 2020-03-04 17:14:37 · 463 阅读 · 0 评论 -
PL/SQL模块学习之三、单行函数与空值处理
1.连接元素符的使用SQL> select ename || 'is a ' || job || ' and 1month salary is :'|| sal as "The imployees's information" from emp #这里使用“;”做结尾报错,ORA-00911: 无效字符2 /The imployees's information--------...原创 2020-03-04 16:34:41 · 992 阅读 · 0 评论 -
PL/SQL模块学习之二、SQL*Plus常用指令
如果在服务端使用sqlplus直接访问Oracle数据库的话,学会这些指令将结果格式化输出至少要自己看屏幕没那么累了。原创 2020-03-03 17:27:14 · 1386 阅读 · 0 评论 -
PL/SQL模块学习之一、基本概念学习
1.登陆D:\app\Administrator\product\11.2.0\dbhome_1\BIN>sqlplus /nologSQL*Plus: Release 11.2.0.1.0 Production on 星期二 3月 3 12:19:01 2020Copyright (c) 1982, 2010, Oracle. All rights reserved.SQL...原创 2020-03-03 13:33:18 · 566 阅读 · 0 评论 -
Oracle的PL/SQL语句块结构
1.Oracle的PL/SQL语句块结构1.1 块头区Program_type program_name ([parameter_name IN / OUT/ IN OUT type specs,]......)[RETURN datatype]Program_type :FUNCTION、PROCEDURE、PACKAGEspecs:NOT NULLFUNCTION必须有返回值e...原创 2020-03-02 17:20:08 · 689 阅读 · 0 评论