ORACLE之PL/SQL简单基础语法学习(一)
来源:互联网 发布:云计算应用迁移 编辑:程序博客网 时间:2024/05/12 08:37
一个完整的PL/SQL程序的总体结构如下所示:
delacre
定义语句段
begin
执行语句段
exception
异常处理语句段
end
一、常量
1.定义常量的语法格式
常量名constant类型标识符[not null]:=值;
常量名,包括后面的变量名都必须以字母开头,不能有空格,不能超过 30 个字符长度,同时不能和保留字同名,常(变)量名称不区分大小写,在字母后面可以带数字或特殊字符。括号内的not null为可选参数,若选用则表明该常(变)量不能为空值。
2.常量的示例
declare
p constant number(9):=3.141592;
begin
commit;
end;
二、基本数据类型变量
1.基本数据类型
类型标识符 说明
number 数组类型
int 整数型
pls_integer 整数型,产生溢出时出息错误
binary_integer 整数型,表示带符号的整数
char 定长字符型,最大255个字符
varchar2 变长字符型,最大2000个字符
long 变长字符型,最长2GB
date 日期型
boolean 布尔型
2.基本数据类型变量的定义方法
变量名 类型标识符 [not null]:=值;
declare
age number(3):=26;
begin
commit;
dbms_output.put_line(age);
end;
三、复合数据类型变量
1.使用%type 定义的变量
让PL/SQL中变量的类型和数据表中的字段的数据类型一致 。示例代码:
declare
mydate scott.emp.hiredate%type; //定义了名为mydate 的变量,其类型和scott.emp数据表中的 hiredate字段类型是一致
begin
commit;
end;
2.定义记录类型变量
declare
type myrecord is record( myrecordnumber int, mycurrentdate date);
定义了名为myrecord的记录类型,该记录类型由整数型的myrecordnumber和日期型的mycurrentdate基本类型变量组成, srecord
是该类型的变量。
srecord myrecord;
begin
select empno, hiredate into srecord from scott.emp where sal=1300;
dbms_output.put_line(srecord.mycurrentdate);
end;
3. 使用%rowtype定义变量
使用%type可以使变量获得字段的数据类型,而使用%rowtype可以使变量获得整个记录的数据类型。
注意两者定义的不同:
使用%type定义变量:变量名 数据表.列名%type。
使用%rowtype定义变量:变量名 数据表%rowtype。
引用%rowtype定义的变量时,使用:变量名.列名。
Declare
mytable scott.emp%rowtype;
begin
select * into mytable
from scott.emp
where sal=1300;
dbms_output.put_line(mytable.hiredate);
end;
四、表达式
变量、常量经常需要组成各种表达式来进行运算,下面介绍在PL/SQL中常见表达式的运算规则。
1.数值表达式
PL/SQL 程序中的数值表达式是由数值型常数、变量、函数和算术运算符组成的,可以使用的算术运算符包括+(加) 、-(减) 、*
(乘)、/(除)和**(乘方)等。
declare
result integer;
begin
result:=10+3*4-20+5**2;
dbms_output.put_line('运算结果是:'||to_char(result));
end;
2.字符表达式
字符表达式由字符型常数、变量、函数和字符运算符组成,唯一可以使用的字符运算符就是连接运算符“||”。
3.关系表达式
关系表达式由字符表达式或数值表达式与关系运算符组成,可以使用的关系运算符包括以下9种:
< 小于
> 大于
= 等于(不是赋值运算符:=)
like 类似于
in 在……之中
<= 小于等于
>= 大于等于
!= 不等于
between 在……之间
4.逻辑表达式
逻辑表达式由逻辑常数、变量、函数和逻辑运算符组成,常见的逻辑运算符包括以下3 种:
NOT:逻辑非
OR:逻辑或
AND:逻辑与
逻辑表达式运算的优先次序为:NOT、AND、OR。
5.函数
PL/SQL程序中提供了很多函数供扩展功能,其中最常用的数据类型转换函数有以下3个:
to_char:将其它类型数据转换为字符型。
to_date:将其它类型数据转换为日期型。
to_number:将其它类型数据转换为数值型。
PL/SQL 程序中的流程控制语句主要有条件控制、循环控制
一、条件控制
1.if...then...end if 条件控制,这种条件控制的语法结构为:
if 条件 then
语句段;
end if;
2. if...then...else...end if条件控制 ,采用if...then...else...end if 条件控制的语法结构如下所示:
if 条件 then
语句段1;
else
语句段2;
end if;
3. if嵌套条件控制
采用if嵌套条件控制的语法结构如下所示:
if 条件1 then
if 条件2 then
语句段1;
else
语句段2;
end if;
else
语句段3;
end if;
二、 循环控制
循环结构是按照一定逻辑条件执行的一组命令,PL/SQL中有4种基本循环结构 :
1.loop…exit...end loop循环控制:
采用loop...exit...end loop循环控制的语法结构如下所示:
loop
循环语句段;
if 条件语句 then
exit;
else
退出循环的处理语句段;
end if;
end loop;
2.loop...exit...when...end loop循环控制
采用loop...exit...when...end loop 循环控制的语法结构如下所示:
loop
循环体;
exit when循环条件;
end loop
3. while...loop...end loop循环控制
这种循环控制的语法如下:
while 条件
loop
执行语句段;
end loop;
4.for...in...loop...end循环控制
采用for...in...loop...end循环控制的语法如下:
for 循环变量 in [reverse] 循环下界..循环上界 loop
循环处理语句段;
end loop;
- ORACLE之PL/SQL简单基础语法学习(一)
- ORACLE之PL/SQL简单基础语法学习(二)
- PL/SQL developer基础语法学习(一)之变量
- PL/SQL developer基础语法学习(二)之语法
- PL/SQL developer基础语法学习(一)
- PL/SQL developer基础语法学习(三)之游标
- oracle--PL/SQL基础语法
- PL/SQL之基础语法
- ORACLE PL/SQL基础(一)
- Oracle学习笔记 -- day09 PL/SQL语法之触发器
- PL/SQL学习笔记一之语法结构!!!
- oracle PL-SQL学习案例(一)
- Oracle PL/SQL学习笔记(一)
- oracle PL/SQL基础学习
- PL/SQL程序设计基础语法详解(一)
- Oracle学习之二 PL/SQL块编程基础
- 学习ORACLE之PL/SQL
- oracle 学习之 PL/SQL
- U盘安装Win7系统图解
- Linux && android HAL
- 嵌入式开发必须要懂的
- 整理一些js对html标签的操作 ing...
- ecshop库项目里加广告位详细步骤
- ORACLE之PL/SQL简单基础语法学习(一)
- 转:王治全逆袭电商梦:从库巴到大朴网的再创业
- 关于压缩感知的20篇论文点评
- WordPress搬家教程:换空间与换域名
- ubuntu环境下 C编程 之 数学函数库的调用
- error C2352: "fac::inrange": 非静态成员函数的非法调用
- Jvisualvm 远程监控添加JVM参数
- PAT1054. The Dominant Color (20)
- ActivityGroup子Activity获得焦点返回键的处理