plsql_百度百科


本站和网页 https://baike.baidu.com/item/plsql/9042661 的作者无关,不对其内容负责。快照谨为网络故障时之索引,不代表被搜索网站的即时页面。

plsql_百度百科
百度首页
网页
新闻
贴吧
知道
网盘
图片
视频
地图
文库
百科
进入词条
全站搜索
帮助
清除历史记录关闭
近期有不法分子冒充百度百科官方人员,以删除词条为由威胁并敲诈相关企业。在此严正声明:百度百科是免费编辑平台,绝不存在收费代编服务,请勿上当受骗!详情>>
首页
历史上的今天
百科冷知识
图解百科
秒懂百科
懂啦
秒懂本尊答
秒懂大师说
秒懂看瓦特
秒懂五千年
秒懂全视界
特色百科
数字博物馆
非遗百科
恐龙百科
多肉百科
艺术百科
科学百科
用户
蝌蚪团
热词团
百科校园
分类达人
百科任务
百科商城
知识专题
权威合作
合作模式
常见问题
联系方式
下载百科APP
个人中心
收藏
查看我的收藏
有用+1
已投票
plsql
播报
编辑
锁定
讨论
上传视频
特型编辑
过程化SQL语言
本词条缺少概述图,补充相关内容使词条更完整,还能快速升级,赶紧来编辑吧!
PL/SQL也是一种程序语言,叫做过程化SQL语言(Procedural Language/SQL)。PL/SQL是Oracle数据库对SQL语句的扩展。在普通SQL语句的使用上增加了编程语言的特点,所以PL/SQL把数据操作和查询语句组织在PL/SQL代码的过程性单元中,通过逻辑判断、循环等操作实现复杂的功能或者计算。
中文名
PL/SQL
外文名
Procedural Language/SQL
应用领域
数据库
具 体
集成开发环境
类 型
过程化SQL语言
相关视频查看全部
目录
语言简介
语言背景
编程基础
过程与函数
游标介绍
显式游标
隐式游标
plsql语言简介
编辑
播报
PL/SQL(Procedural Language/SQL)是一种过程化语言,属于第三代语言,它与C、C++、Java等语言一样关注于处理细节,可以用来实现比较复杂的业务逻辑。它允许SQL的数据操纵语言和查询语句包含在块结构(block_structured)和代码过程语言中,使PL/SQL成为一个功能强大的事务处理语言。在甲骨文数据库管理方面,PL/SQL是对结构化查询语言(SQL)的过程语言扩展。PL/SQL的目的是联合数据库语言和过程语言。PL/SQL的基本单位叫做块,由三个部分组成:一个声明部分,一个执行部分和异常处理部分。因为PL/SQL允许混合SQL声明和过程结构,因此可以在将声明发送到甲骨文系统去执行之前使用PL/SQL区段和副程序来组合SQL声明,没有PL/SQL,甲骨文需要就每次处理SQL声明,在网络环境中,这将影响交通流量,而且增加响应时间。PL/SQL区段只被编译一次并且以可运行的形式储存,以降低响应时间。
plsql语言背景
编辑
播报
结构化查询语言(Structured Query Language,简称SQL)是用来访问关系型数据库一种通用语言,属于第四代语言(4GL),其执行特点是非过程化,即不用指明执行的具体方法和途径,而是简单地调用相应语句来直接取得结果即可。显然,这种不关注任何实现细节的语言对于开发者来说有着极大的便利。然而,有些复杂的业务流程要求相应的程序来描述,这种情况下4GL就有些无能为力了。PL/SQL的出现正是为了解决这一问题,它是一种过程化语言,属于第三代语言,它与C、 C++、Java等语言一样关注于处理细节,可以用来实现比较复杂的业务逻辑。
plsql编程基础
编辑
播报
程序结构PL/SQL程序都是以块(block)为基本单位,整个PL/SQL块分三部分:声明部分(用declare开头)、执行部分(以 begin开头)和异常处理部分(以exception开头)。其中执行部分是必须的,其他两个部分可选。无论PL/SQL程序段的代码量有多大,其基本结构就是由这三部分组成。模板如下:declare/* 声明区(可选):定义类型和变量、声明变量、声明函数、游标 */begin/* 执行区(必须的):执行pl/sql语句或者sql语句 */exception/* 异常处理区(可选):处理错误的 */end;如下所示为一段完整的PL/SQL块:/*声明部分,以declare开头*/declare v_id integer;v_name varchar(20);cursor c_emp is select * from employee where emp_id=3;/*执行部分,以begin开头*/begin  open c_emp; //打开游标loopfetch c_emp into v_id,v_name;   //从游标取数据exit when c_emp%notfound ;end loop ;close c_emp;    //关闭游标dbms_output.PUT_LINE(v_name);/*异常处理部分,以exception开始*/exceptionwhen no_data_found thendbms_output.PUT_LINE('没有数据');end ;控制结构PL/SQL程序段中有三种程序结构:条件结构、循环结构和顺序结构。1) 条件结构与其它语言完全类似,语法结构如下:if condition thenstatement1elsestatement2end if ;2)循环结构这一结构与其他语言不太一样,在PL/SQL程序中有三种循环结构:a. loop … end loop;b. while condition loop … end loop;c. for variable in low_bound . .upper_bound loop … end loop;其中的“…”代表循环体。3)顺序结构实际就是goto的运用,不过从程序控制的角度来看,尽量少用goto可以使得程序结构更加的清晰。变量声明与赋值PL/SQL主要用于数据库编程,所以其所有的数据类型跟Oracle数据库里的字段类型是一一对应的,大体分为数字型、布尔型、字符型和日期型。这里简单介绍两种常用数据类型:number、varchar2。number用来存储整数和浮点数。范围为1e130~10e125,其使用语法为:number[(precision, scale)]其中(precision, scale)是可选的,precision表示所有数字的个数,scale表示小数点右边数字的个数。varchar2用来存储变长的字符串,其使用语法为:varchar2[(size)]其中size为可选,表示该字符串所能存储的最大长度。在PL/SQL中声明变量与其他语言不太一样,它采用从右往左的方式声明,比如声明一个number类型的变量v_id,那其形式应为:v_id number;如果给上面的v_id变量赋值,不能用“=”,应该用“:=”,即形式为:v_id :=5;基本命令PL/SQL使用的数据库操作语言还是基于SQL的,所以熟悉SQL是进行PL/SQL编程的基础。SQL语言的分类情况大致如下:1.数据定义语言(DDL),包括CREATE(创建)命令、ALTER(修改)命令、DROP(删除)命令等。2. 数据操纵语言(DML),包括INSERT(插入)命令、UPDATE(更新)命令、DELETE(删除)命令、SELECT …FOR UPDATE(查询)等。3. 数据查询语言(DQL),包括基本查询语句、Order By子句、Group By子句等。4. 事务控制语言(TCL),包括COMMIT(提交)命令、SAVEPOINT(保存点)命令、ROLLBACK(回滚)命令。5. 数据控制语言(DCL),GRANT(授权)命令、REVOKE(撤销)命令。具体的语法结构可以参阅其他关于SQL语言的资料,这里不再赘述。
plsql过程与函数
编辑
播报
PL/SQL中的过程和函数与其他语言的过程和函数一样,都是为了执行一定的任务而组合在一起的语句。过程无返回值,函数有返回值。其语法结构为:过程:Create or replace procedure procname(参数列表) as PL/SQL语句块函数:Create or replace function funcname(参数列表) return 返回值 as PL/SQL语句块为便于理解,举例如下:问题:假设有一张表t1,有f1和f2两个字段,f1为number类型,f2为varchar2类型,要往t1里写两条记录,内容自定。Create or replace procedure test_procedure asV_f11 number :=1; /*声明变量并赋初值*/V_f12 number :=2;V_f21 varchar2(20) :='first';V_f22 varchar2(20) :='second';BeginInsert into t1 values (V_f11, V_f21);Insert into t1 values (V_f12, V_f22);End test_procedure; /*test_procedure可以省略*/至此,test_procedure存储过程已经完成,经过编译后就可以在其他PL/SQL块或者过程中调用了。函数与过程具有很大的相似性,此处不再详述。
plsql游标介绍
编辑
播报
游标的定义为:用游标来指代一个DML SQL操作返回的结果集。即当一个对数据库的查询操作返回一组结果集时,用游标来标注这组结果集,以后通过对游标的操作来获取结果集中的数据信息。这里特别提出游标的概念,是因为它在PL/SQL的编程中非常的重要。定义游标的语法结构如下:cursor cursor_name is SQL语句;在本文第一段代码中有一句话如下:cursor c_emp is select * from employee where emp_id=3;其含义是定义一个游标c_emp,代表employee表中所有emp_id字段为3的结果集。当需要操作该结果集时,必须完成三步:打开游标、使用fetch语句将游标里的数据取出、关闭游标。游标用来处理从数据库中检索的多行记录(使用SELECT语句)。利用游标,程序可以逐个地处理和遍历一次检索返回的整个记录集。为了处理SQL语句,Oracle将在内存中分配一个区域,这就是上下文区。这个区包含了已经处理完的行数、指向被分析语句的指针,整个区是查询语句返回的数据行集。游标就是指向上下文区句柄或指针。
plsql显式游标
显示游标被用于处理返回多行数据的SELECT 语句,游标名通过CURSOR….IS 语句显示地赋给SELECT 语句。在PL/SQL中处理显示游标所必需的四个步骤:1)声明游标;CURSOR cursor_name IS select_statement2)为查询打开游标;OPEN cursor_name3)取得结果放入PL/SQL变量中;FETCH cursor_name INTO list_of_variables;FETCH cursor_name INTO PL/SQL_record;4)关闭游标。CLOSE cursor_name注意:在声明游标时,select_statement不能包含INTO子句。当使用显示游标时,INTO子句是FETCH语句的一部分。
plsql隐式游标
所有的隐式游标都被假设为只返回一条记录。使用隐式游标时,用户无需进行声明、打开及关闭。PL/SQL隐含地打开、处理,然后关掉游标。例如:SELECT studentNo,studentNameINTO curStudentNo,curStudentNameFROM StudentRecordWHERE name=’gg’;上述游标自动打开,并把相关值赋给对应变量,然后关闭。执行完后,PL/SQL变量curStudentNo,curStudentName中已经有了值。
百度百科内容由网友共同编辑,如您发现自己的词条内容不准确或不完善,欢迎使用本人词条编辑服务(免费)参与修正。立即前往>>
V百科往期回顾
词条统计
浏览次数:次
编辑次数:35次历史版本
最近更新:
爱吃大米emo
(2021-11-25)
语言简介
语言背景
编程基础
过程与函数
游标介绍
显式游标
隐式游标
为您推荐广告
新手上路
成长任务
编辑入门
编辑规则
本人编辑
我有疑问
内容质疑
在线客服
官方贴吧
意见反馈
投诉建议
举报不良信息
未通过词条申诉
投诉侵权信息
封禁查询与解封
©2022 Baidu 使用百度前必读 | 百科协议 | 隐私政策 | 百度百科合作平台 | 京ICP证030173号
京公网安备11000002000001号
进入词条
清除历史记录关闭
播报
编辑
讨论
收藏
登录
扫码下载百科APP
领取50财富值奖励
分享到微信朋友圈
打开微信“扫一扫”即可将网页分享至朋友圈
选择朗读音色
00:00
00:00