PL/SQL编程
一、Oracle常用函数
- concat:用于连接两个字符串。
-
CONCAT('Oraok', '.com') -- Result: 'Oraok.com'
-
-
ceil:小数点向上取整。
-
secect ceil(7.3) from dual --Result: 8 dual表是oracle系统为计算设计的一张临时表
-
-
select sysdate as 系统日期 from dual; 获取系统日期
二、PL/SQL
2.1 PL/SQL简介
2.1.1 概念
PL/SQL是Oracle在数据库中引入的一种过程化编程语言。PL/SQL构建于SQL之上,可以用来编写包含SQL语句的程序。
2.1.2 程序块
2.1.3 PL/SQL基本语法
2.1.4 变量
语法:变量名 数据类型 [长度:=初始值 ]
PL/SQL中未初始化的变量值为null。
dbms_output.put_line是类似java的输出函数,运行后,在Output框可以看到对应数据。
2.1.5 常量
语法:常量名 constant 数据类型:=常量值
week_day constant integer := 7;
2.2 基本数据类型
2.2.1 数值类型
数值型包括NUMBER、PLS_INTEGER和BINARY_INTEGER
NUMBER类型可以存储整数或浮点数,而其他两种类型只能存放整数。
NUMBER(m,n)其中m表示总的位数,n表示小数位数。
例:NUMBER(5,2) 123.36
2.2.2 字符类型
字符类型主要包括VARCHAR2、CHAR、LONG、NCHAR和NVARCHAR2等类型,这些类型的变量用来存储字符串和字符数据。
VARCHAR2(m) m<32767
2.2.3 日期类型
日期类型只有DATE类型。存储日期和时间。DATE使用一个字节存储世纪、年、月、天、小时、分、秒。
2.2.4 布尔类型
布尔类型只有BOOLEAN,用于程序流程控制和业务逻辑判断,其变量可以是TRUE、FALSE、NULL的一种。
2.2.5 %TYPE类型
下图表示定义一个var_name 类型与student.sname相同。
下图表示在student表里查出数据,插入到声明的两个变量里面。
2.2.6 RECORD类型
2.2.7 ROWTYPE类型
把student表作为rowvar_stu的类型,查出来的数据插入这张表。
2.3 异常处理
a := &a :表示由用户输入一个值,当输入10/10时报错,除数不能为0,此时指定异常进行处理。
2.4 选择和循环
2.4.1 if-then语句
满足尖括号中的条件执行plsq_sentence;
例:
2.4.2 loop语句
2.4.3 while ... loop 语句
2.4.4 for循环
下图中100表示包括100
2.4.5 case语句
用户输入一个季节,显示季节的月份
2.5 显式游标和隐式游标
2.5.1 显式游标