- 1、本文档共53页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
PL/SQL语法以及程序编写介绍;
;三、PL/SQL内容
PL/SQL是在SQL语言中扩充了面向过程语言中使用的程序结构,如:
变量和类型(即可以予定义也可以由用户定义)
控制语句(如IF-THEN-ELSE)和循环
过程和函数
对象类型和方法(PL/SQL8.0版本以上)
;四、变量的声明
在PL/SQL中声明变量与其他语言不太一样,它采用从右往左的方式声明 。
C语言声明变量方式:int v_id;
PL/SQL声明变量方式:v_id number;
五、变量的赋值
不能用”=”应该用”:=”,
即形式为 v_id := 5;
;六、数据类型
PL/SQL主要用于数据库编程,所以其所有数据类型跟oracle数据库里的字段类型是一一对应的,常用的数据类型大体上有数字型、布尔型、字符型和日期型。
数字型
用来存储整型或者浮点型数值。范围为1E-130 ~10E125,其声明方式为:number [(precision, scale)]
其中(precision, scale)是可选的,precision表示所有数字的个数,scale表示小数点右边数字的个数。 ;实际数据 定义 在oralce中的数据;布尔型
布尔型BOOLEAN,用于逻辑判断,只有TRUE,FALSE两种值。
字符型
主要说明字符类型的存储格式。主要包括
char、varchar2和long等几种类型。
CHAR:用于描述定长的字符型数据,长度<=
2000 字节。如果实际值不够定义的长度,系统
将以空格填充。 ;v_char char(10):=‘abcde’;
Length(v_char)=
; NCHAR:来存储Unicode字符集的定长字符型数据,长度<= 1000 字节。它的声明方式与CHAR相同。
NVARCHAR2:用来存储Unicode字符集的变长字符型数据,长度<= 1000 字节。它的声明方式与VARCHAR2相同。
LONG:用来存储最大长度为2GB的变长字符数据。 ;日期型
DATE:用于存储日期与时间信息。虽然日期信息也可以用字符型变量或者数字型变量来表示,但是DATE型变量有它特有的属性。每一个DATE型的数据都存储了以下信息:年、月、日、小时、分钟以秒。 ; 假设有一DATE类型变量v_date,现在用to_date
函数将v_date赋值为2006年4月6日;七、条件逻辑
在PL/SQL中,可以使用命令if,else和elsif来控制可执行命令段的命令流。下面列出了可用的条件逻辑命令的格式(循环条件除外)
格式1:
if <条件> then
<命令>
elsif <条件> then
<命令>
else
<命令>
end if; ;格式2:
if <条件> then
if <条件> then
<命令>
end if;
else
<命令>
end if;
总的说来除了格式上与C略有区别,其它都
是一样的;例:判断通过映射关系,将邮编信息填入到i_addr_zipcode字段中去
if i_area_id = 1 then
i_addr_zipcode := '325200';
elsif i_area_id =2 then
i_addr_zipcode := '325400';
elsif i_area_id = 3 then
i_addr_zipcode := '325800';
elsif i_area_id = 4 then
i_addr_zipcode := '325100';
elsif i_area_id = 5 then
i_addr_zipcode := '325600';
elsif i_area_id = 6 then
i_addr_zipcode := '325700';
elsif i_area_id = 7 then
i_addr_zipcode := '325300';
elsif i_area_id = 8 then
i_addr_zipcode := '325500';
else
i_addr_zipcode := '325000';
end if; ;八、循环
在一个单独的PL/SQL代码块中可以使用循环处理多个记录。PL/SQL支持三种类型的循环。 ;例:一个简单循环举例
…
i_variable := 10;
i_sum := 0;
loop
i_sum := i_sum + i_v
文档评论(0)