PL/SQL基本概念
首先明确PL/SQL主要作用作用:
SQL语言适合管理关系型数据库但是它无法满足更复杂的数据处理,所以产生PLSQL。PLSQL用户创建存储过程、函数、触发器、包及用户自定义的函数。
特点:
PLSQL具有高级语言所拥有的编程结构,使用PLSQL可以极大的提高数据库编程的灵活性,PLSQL不是独立存在的,他是Oracle服务器的一部分,可以再客户端和服务器端运行。
PLSQL的应用环境:客户端和服务器端

PLSQL基本结构:
块头区
IS
声明区
Begin
执行区
Exception
异常区
块头区:块头区包含程序单元名字和参数,其中程序单元名字可以是函数(function),存储过程(procedure),包(package-package body),参数具有一定的数据类型,该参数分为三类:in(输入) out(输出) inout(双向的)
相对于函数必须有返回值
Create or replace function function_name(f float)
Return float
存储过程是没有返回值
Create or replcae procedure procedure_name (name in varchar2)
声明区:
Plsql用到的一些变量等都在声明区进行声明,变量的数据类型可以是任意的Oracle数据类型,还可以进行constraint约束,比如非空等 not null
例子:
Var varchar2(10);
Var varchar2(10) not null;
Var varchar2(10) := ‘hello’;
Var integer default 3.14;
执行区:
用于完成该程序单元的功能逻辑Begin end作为起始标识可以包含null 但是不能为空
异常区:抛出异常
Exception
when exception_name1 then
error1;
when others then
error2;
整体实例:
Declare
var_first varchar2(10);--变量声明
var_last varchar2(10);
BEGIN
select first_name,last_name
into var_first,var_last from emp;
dbms_output.put_line(‘first_name’||var_first);
dbms_output.put_line(‘last_name’||var_last);--dbms_output.put_line返回信息
EXCEPTION --异常区
WHEN no_data_found THEN
dbms_output.put_line('no data found');
END;
PL/SQL基本概念的更多相关文章
- Oracle PL/SQL随堂笔记总结
1.pl/sql编程 2.存储过程 3.函数 4.触发器 5.包 6.pl/sql基础 -定义并使用变量 7.pl/sql的进阶 8.oracle的视图 1.pl/sql编程 1.理解oracle的p ...
- Oracle+PL+SQL从入门到精通.丁士锋.清华大学出版社.2012
\t第1篇 pl/sql开发入门第1章 oracle 11g数据库系统1.1 关系型数据库系统介绍1.1.1 什么是关系型数据模型1.1.2 数据库系统范式1.1.3 关系型数据库管理系统1.1.4 ...
- orale中pl/sql的数据类型总结
一.pl/sql的概念 pl/sql简单的说就是:sql语句+编程语言的特性. 二.pl/sql的优点 1.可以提高程序的运行效率,因为能够减少数据库的访问次数. 2.可以对复杂的业务逻辑进行封装 3 ...
- Oracle和MySql的分页查询区别和PL/SQL的基本概念
Oracle和MySql的分页查询区别: Oracle的分析查询,之前Oracle的分页是使用伪列 ROWNUM 结合子查询实现,mysql的分页更简单,直接使用 LIMIT 关键字就可以实现 ...
- PL/SQL概念
一. 为什么把SQL语句组合成PL/SQL语句块效率会更高? 使用PL/SQL语句块中的SQL语句更加高效,原因主要是这样做可以大幅降低网络流量,应用程序也会变得更加高效. 当客户端计算机发出一条SQ ...
- ORACLE PL/SQL 实例精解之第一章 PL/SQL概念
1.传统一层一层传数据,而PLSQL作为独立的单元返回客户端,减少查询,减少网路传输的往返,高效 2.PL/SQL语句块 分为两种:命名(子程序,函数,包保存在数据库中,后期可以根据名称进行引用),匿 ...
- oracle PL、SQL(概念)
一.PL/SQL简介. Oracle PL/SQL语言(Procedural Language/SQL)是结合了结构化查询和Oracle自身过程控制为一体的强大语言,PL/SQL不但支持更多的数据类型 ...
- 每周一书《Oracle 12 c PL(SQL)程序设计终极指南》
本周为大家送出的书是<Oracle 12 c PL(SQL)程序设计终极指南>,此书由机械工业出版社出版, 孙风栋,王澜,郭晓惠 著. 内容简介: <Oracle 12c PL/SQ ...
- PL/SQL入门理解(一)
1.PL/SQL概述 1)概念 pl/sql(procedural language)是Oracle在标准sql语言的基础上的扩展,可以实现定义变量.使用逻辑控制语句等 作用:默认oracle一次只能 ...
随机推荐
- input有许多,点击按钮使用form传递文本框的值
input有许多,点击按钮使用form传递文本框的值 <form name="form1" method="post" action="< ...
- 重启机器解决SSL都要输入密码问题
在Nginx或Apache设置了SSL加密后,发现每次重启服务器后都要输入证书设置的密码,比较麻烦,不然Nginx或Apache无法使用,这时可以用私钥来做这件事.生成一个解密的key文件,替代原来k ...
- Laravel邮件发送问题小解
在Laravel中已经有内置了发送邮件的功能,通过 Mail::send 可发送邮件,但要使用这个函数必须先进行相关配置. 在 /app/config/mail.php 中设置你的邮件参数,如下: 1 ...
- Java使用POI实现数据导出excel报表
Java使用POI实现数据导出excel报表 在上篇文章中,我们简单介绍了java读取word,excel和pdf文档内容 ,但在实际开发中,我们用到最多的是把数据库中数据导出excel报表形式.不仅 ...
- NOIP前刷水行动
2016.11.15 BZOJ1009:DP+矩阵乘法+KMP BZOJ1898:矩阵乘法 BZOJ4101:贪心,考虑我们往右边撞的时候,我们会向左边冲 ,于是枚举答案点利用一个指针计算即可! 20 ...
- ios数据存储——数据库:SQlite3以及第三方库FMDB
[reference]http://blog.csdn.net/mad1989/article/details/9322307 原生数据库:SQlite3 一.必备条件 在ios项目中使用sqlite ...
- Myeclipseforspring 10破解
破解包和说明下载网址:http://ishare.iask.sina.com.cn/f/33848276.html?all=y
- JDBC executeBatch 抛出异常停止
进行批量更新的时候发现: addBatch(sql); executeBatch 抛出异常后,剩余的sql没有更新,即出现异常之前的都入库了,异常之后即使有可执行sql都不会执行. 百度资料后了解:这 ...
- CentOS6.7下使用非root用户(普通用户)编译安装与配置mysql数据库并使用shell脚本定时任务方式实现mysql数据库服务随机自动启动
CentOS6.7下使用非root用户(普通用户)编译安装与配置mysql数据库并使用shell脚本定时任务方式实现mysql数据库服务随机自动启动1.关于mysql?MySQL是一个关系型数据库管理 ...
- @dynamic 与 @synthesize
@synthesize是默认选项,表示为属性自动生成getter方法和setter方法 @dynamic 需要在实现文件里注明.例如 @dynamic name:表示用开发者手动动态实现getter和 ...