知识大全 PL/SQL程序结构(组图)
Posted 知
篇首语:莫问天涯路几重,轻衫侧帽且从容。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 PL/SQL程序结构(组图)相关的知识,希望对你有一定的参考价值。
PL/SQL程序结构(组图) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
什么是PL/SQL程序 前面第 章学习的标准化的SQL语言对数据库进行各种操作 每次只能执行一条语句 语句以英文的分号 ; 为结束标识 这样使用起来很不方便 同时效率较低 这是因为Oracle数据库系统不像VB VC这样的程序设计语言 它侧重于后台数据库的管理 因此提供的编程能力较弱 而结构化编程语言对数据库的支持能力又较弱 如果一些稍微复杂点的管理任务都要借助编程语言来实现的话 这对管理员来讲是很大的负担 正是在这种需求的驱使下 从Oracle 开始 Oracle公司在标准SQL语言的基础上发展了自己的PL/SQL(Procedural Language/SQL 过程化SQL语言)语言 将变量 控制结构 过程和函数等结构化程序设计的要素引入了SQL语言中 这样就能够编制比较复杂的SQL程序了 利用PL/SQL语言编写的程序也称为PL/SQL程序块 PL/SQL程序块的主要特点如下 具有模块化的结构 使用过程化语言控制结构 能够进行错误处理 PL/SQL程序块只能在【SQL Plus】 【SQLPlus Worksheet】等工具支持下以解释型方式执行 不能编译成可执行文件 脱离支撑环境执行 PL/SQL实例分析 下面将为前面建立的tempuser用户建立一个名为testtable的数据表 在该表中有recordnumber整数型字段和currentdate时间型字段 编制一个PL/SQL程序完成向该表中自动输入 个记录 要求recordnumber字段从 到 currentdate字段为当前系统时间 ( )前面建立的tempuser用户默认的表空间为USERS 因此 要想使该用户能够使用表空间建立数据方案对象 必须首先给其赋予名为 RESOURCE 的角色 ( )以system用户 SYSDBA身份登录数据库后 在【企业管理器】中按照修改用户的步骤进行操作 直到出现如图 所示的编辑用户的【角色】选项卡 在【可用】下拉列表框中选择 RESOURCE 单击【箭头向下】按钮将其添加到【已授予】列表框中 【默认值】单元格被选中 单击 确定 按钮 > ( )读者也可以在【SQLPlus Worksheet】中直接执行如下SQL代码完成上述操作 ――――――――――――――――――――――――――――――――――――― GRANT RESOURCE TO TEMPUSER ; ALTER USER TEMPUSER DEFAULT ROLE ALL ――――――――――――――――――――――――――――――――――――― 【配套程序位置】 第 章\\grantrole sql ( )按照创建数据表的操作步骤进行 直到出现如图 所示的创建表的【一般信息】选项卡 在【名称】文本框中输入 testable 在【方案】下拉列表框中选择 tempuser 在【表空间】下拉列表框中选择 users 选择【表】/【标准】单选钮 选择【定义列】单选钮 在【表列定义区】中输入两个数据列的定义 完成设置后单击【创建】按钮 > ( )读者也可以在【SQLPlus Worksheet】中直接执行如下SQL代码完成上述操作 ――――――――――――――――――――――――――――――――――――― CREATE TABLE TEMPUSER TESTTABLE ( RECORDNUMBER NUMBER( ) NOT NULL CURRENTDATE DATE NOT NULL) TABLESPACE USERS ――――――――――――――――――――――――――――――――――――― 【配套程序位置】 第 章\\createtesttable sql ( )以tempuser用户身份登录【SQLPlus Worksheet】 执行下列SQL代码完成向数据表tempuser testable中输入 个记录的功能 执行结果如图 所示 ――――――――――――――――――――――――――――――――――――― set serveroutput on declare maxrecords constant int:= ; i int := ; begin for i in maxrecords loop insert into tempuser testtable(recordnumber currentdate) values(i sysdate); end loop; dbms_output put_line( 成功录入数据! ); mit; end; ――――――――――――――――――――――――――――――――――――― 【配套程序位置】 第 章\\inserttesttable sql > ( )在【SQLPlus Worksheet】中执行下列语句 查询插入的数据 结果如图 所示 ――――――――――――――――――――――――――――――――――――― select * from tempuser testtable; ――――――――――――――――――――――――――――――――――――― 【配套程序位置】 第 章\\selecttesttable sql > 对完成上述数据插入过程的PL/SQL程序的分析如表 所示 表 PL/SQL实例代码分析 程序代码 说明 set serveroutput on 允许服务器输出 declare 定义部分标识 maxrecords constant int:= ; 定义maxrecords为整型常量 i int := ; 定义i为整型值变量 初值为 Begin 执行部分标识 for i in maxrecords loop i从 循环到maxrecords Insert into tempuser testtable(recordnumber currentdate) values (i sysdate); 向数据表中插入数据 end loop; 结束循环 dbms_output put_line( 成功录入数据! ); 显示成功录入数据信息 mit; 提交结果 end; 结束执行 表中的sysdate为系统时间函数 dbms_output为系统默认的程序包 put_line为包中定义的方法 功能是输出信息 在Oracle中 所有对数据库数据的更改并没有直接操作数据库 而是放在叫工作区的内存里 只有在mit语句执行后 才发生永久更改 PL/SQL程序结构 结合上述实例进行分析 完整的PL/SQL程序结构可以分为 个部分 定义部分 以Declare为标识 在该部分中定义程序中要使用的常量 变量 游标和例外处理名称 PL/SQL程序中使用的所有定义必须在该部分集中定义 而在高级语言里变量可以在程序执行过程中定义 执行部分 以begin为开始标识 以end为结束标识 该部分是每个PL/SQL程序所必备的 包含了对数据库的操作语句和各种流程控制语句 异常处理部分 该部分包含在执行部分里面 以exception为标识 对程序执行中产生的异常情况进行处理 一个完整的PL/SQL程序的总体结构如图 所示 > 有的程序比较简单 往往省略异常处理部分 下面开始介绍PL/SQL的一些基本语法要素 cha138/Article/program/Oracle/201311/18995相关参考
数据库PL/SQL异常处理(组图) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 在设计PL/S
oracle数据库PL/SQL序列(组图) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 序列是
知识大全 用PL/SQL和Java开发Oracle8 i应用程序
用PL/SQL和Java开发Oracle8i应用程序 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
PL/SQL命名作用域的窍门 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 很多PL/SQL程序
在PL/SQL程序中对于处理多行记录的事务经常使用光标来实现 一显式光标在PL/SQL程序中定义的光标称作显式光标 显式光标处理需四个PL/SQL步骤: cursor 光标名称&n
现在你可以通过字符串建立索引提高性能 许多PL/SQL程序对数据进行操作通常是通过使用SQL在数据库中直接操作数据你经常还需要在PL/SQL程序本身内声明和管理数据这个程序数据可能由一些单独的值
PL/SQL最差实践 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 超长的PL/SQL代码 影
从pl/sql查询字段类型为number并且长度大于位的内容显示为科学计数法的计数方法 pl/sql 从pl/sql查询字段类型为number并且长度大于位的内容显示为科学计数法的计数方法后经
PL/SQL中用光标查询多条记录 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! PL/SQL光标
PL/SQL用光标查询多条记录 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! PL/SQL光标为