第一范文网 - 专业文章范例文档资料分享平台

PLSQL程序设计语言

来源:用户分享 时间:2025/10/28 10:43:28 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

PL/SQL:是过程化/sql的缩写,是Oracle在sql的基础之上扩展来的一种数据库编程语言,在兼容sql的基础之上,扩充了许多新功能,是面向过程化语言和sql的结合。 PL/SQL特点:

·除了基本的sql之外,包含了控制结构和异常处理,从而具有了

sql语句的简洁性和过程性。

·每个sql语句的请求处理,都会引起一次网络的传输,用户量一

旦大量增加,可能会导致网络堵塞,而PLSQL是将整个语句块发送给数据库服务器,减少了网络通信的数量,提高了应用程序的运行效率。

·PLSQL语句是存储在Oracle服务器上,可以被其他的PLSQL程

序或者sql调用。具有很高的重用性。

PLSQL程序块有两种:

·匿名块:没有名称,只用一次,不能存储在数据库中 ·命名块:指的是保存在数据库中的PLSQL程序块,比如我们的·PLSQL程序语言是一种块结构语言,PLSQL的基本代为是块。

存储过程、函数和触发器

块的基本结构:

·匿名块的基本结果

declare -- 可选 begin update dh02t_person set p_name='李四' where p_id = 14; --exception 可选 commit; end; declare:声明部分,用来声明程序中的变量、类型、游标等等。

declare pname varchar2(20) := '朱炳宇'; begin update dh02t_person set p_name=pname where p_id = 14; --exception 可选 commit;--提交 end;

begin:是PLSQL程序的主体部分,一般使用sql语句或者过程化语言来处理特定的操作。

exception:异常的处理部分,用来检查和处理异常或者错误。 块中的每一条语句都需要以分号结束,一条sql可以分成多行来写,但是最终只需要一个分号。

注释:在PLSQL中,注释分为两种,一种单行注释“--”,两外就是多行注释”/* 需要注释的内容*/”

范例:向表中插入一笔数据并且提交。

declare pid number(18) ; pname varchar2(20); psex number(1); pbir date; begin --给变量赋值 pid := 20; pname := '姜建民'; psex := 1; pbir := to_date('1988-11-12','yyyy-mm-dd'); insert into dh02t_person(p_id,p_name,p_sex,p_bir) values (pid,pname,psex,pbir); commit;--提交 end;

声明常量和变量

·声明常量:常量名 constant 类型(长度) := 值

declare pid constant number(18) := 29;--声明常量 begin pid := 90;--不能再次赋值 end; constant:表示的就是固定不变的,就是我们说的常量。声明之后不允许改变。

·声明变量:变量名 类型(长度) (not null) (default | := )

pid number(18) not null default 21;

声明变量和常量中一些规则:

·一行只能声明一个变量或者常量

·变量时存储值的内存区域,用来处理程序中的值,变量名称不

能重复,也不能使用系统关键字。

·变量名称以字母开头(不区分大小写),可以由字母,数字,下

划线组成。

·变量名称的长度不能超过30个字符

·分支结果

在PLSQL中分支分为两种: ·if then els(if then elsif then。。els)

·case(when 。。。else),是按照顺序检查表达式的值,如果一旦

找到,则跳出case语句。

范例:对dh02t_student表中的java_score成绩字段做一个等级。50-60:优,40-50:良,30-40:及格,30以下,挂了

·使用第一种语法

declare score number(2); level_score varchar2(3); begin select java_score into score from dh02t_student where stu_id=1;--将查询的值赋给变量score if score >=50 then level_score := '优'; elsif score >=40 then level_score := '良'; elsif score >=30 then level_score := '及格'; else level_score := '挂科'; end if; dbms_output.put_line(level_score); end; ·使用第二种语法:

declare score number(2); level_score varchar2(3); begin select java_score into score from dh02t_student where stu_id=1;--将查询的值赋给变量score case when score >=50 then

搜索更多关于: PLSQL程序设计语言 的文档
PLSQL程序设计语言.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c0vyyl2wyr79pugn7q9us_1.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top