PL/SQL编程
- pl/sql是什么
pl/sql(procedural language/sql)是oracle在标准的sql语言上的扩展,
pl/sql不仅允许嵌入sql语言,还可以定义变量和常量,允许使用条件语句
和循环语句,允许使用例外处理各种错误,这样使得它的功能变得更加强大 - oracle数据库中pl/sql编写(过程,函数,触发器)它们是存在数据库的数据对象
- ************1.过程,函数,触发器是pl/sql编写的 ************
************2.过程,函数,触发器是在Oracle中 ************
************3.pl/sql是非常强大的数据库过程语言 ************
************4.过程,函数可以在Java程序中调用 ************
我们可以编程一些复杂的查询,用编程方式来实现,这样查询语句就简单化了
- 优势:
简化复杂度了,减少网络的传输,增加程序的模块化
提高运行性能运行速度更快,提高安全性
不好:
移植性不好 - 用什么编写pl/sql
sqlplus是oracle公司提供的一个工具
pl/sql developer 是用于开发pl/sql块的继承开发
sqlplus演示:
编写一个存储过程,该过程可以向某表中添加记录
1.创建一个简单的表
create table mytest(name varchar2(30),passwd varchar2(30));
2.创建过程
create [or replace] procedure sp_pro1 is
begin--执行部分
insert into mytest('张三','a123');--故意错误
end;
回车以后再加"/" 执行
"[ ]" 可选写与不写,
replace: 表示如果有 sp_pro1表就替换
警告:创建的过程带有编译错误
如何查看错误 show error;
缺少 SELECT 关键字 values
create or replace procedure sp_pro1 is
begin--执行部分
insert into mytest values('张三','a123');
end;
/
过程已创建
如何调用该过程
① exec 过程名(参数值1,参数值2...);--有参数请带参数
② call 过程名(参数值1,参数值2...);--有参数请带参数
调用过程;
exec sp_pro1;
查一下,select * from mytest;
NAME PASSWD
----------------------- -------------------------------
张三 a123
再调用过程;
exec sp_pro1;
再查一下,select * from mytest;
NAME PASSWD
----------------------- -------------------------------
张三 a123
张三 a123
有了两条,这是一个最简单的存储过程
-------------------------------------------------------
sql developer演示:
sql developer 这个工具开发是最好的
打开sql developer
点左上角文件--》新建--》命定窗口
在编辑器先写后粘贴在对话框执行
编辑器是文本可以联想关键字,对话框用来执行的
--案列
create or replace procedure sp_pro2 is
begin
--执行部分
delete from mytest where name='张三';
end;
调用一下:exec sp_pro2;
查一下:select * from mytest;
现在删除后是一个空表了,以上做了两个案列
就是为了让看这个文章的人知道怎么去用
第一写,细节都写上了,但是有点啰嗦
先成简单到细节再加强
pl/sql基础介绍:
开发人员使用pl/sql编写应用模块时,不仅需要掌握sql语句
的编写方法,还要掌握pl/sql语句及语法规则。pl/sql编程
可以使用变量和逻辑控制语句,从而可以编写非常有用的功能
模块。
比如:分页存储过程模块,订单处理存储过程模块,转账存储
过程模块..而且如果使用pl/sql编程,我们可以轻松的完成非常
复杂的查询要求
■简单分类
|-----过程(存储过程)
|
|-----函数
|
块(编程)----- |
|-----触发器
|
|-----包
主要是编写这四个,还可以编写其他的,是的可以,但是不是pl/sql重点
■编写规范
①注释
单行注释 --
多行注释 /*....*/来划分
②标识符号的命名规范
1)当定义变量时,建议用v_作为前缀 v_sal
2)当定义常量时,建议用c_作为前缀 c_rate
3)当定义游标是,建议用_cursor 作为后缀emp_sursor;
4)当定义列外时,建议用e_作为前缀 e_error
■介绍
块(block)是pl/sql的基本程序单元,编写pl/sql程序实际上
就是编写pl/sql块。要完成相对简单的应用功能,可能只需要
编写一个pl/sql块;但是如果要想实现复杂的功能,可能需要在
一个pl/sql块中嵌套其他的pl/sql块
■块结构示意图
pl/sql块由三个部分构成:定义部分,执行部分,例外处理部分。
如下所示:
declear
/*定义部分-----定义常量、变量、游标、例外、复杂数据类型*/
begin
/*执行部分-----要执行的pl/sql语句和sql语句*/
exception
/*例外处理部分-----处理运行的各种错误*/
end;
特别说明:
定义部分是从declare开始的,该部分是可选的
执行部分是从begin开始的,该部分是必须的
例外处理部分是从exception开始的该部分可选的
·定义跟Java程序很像的
--最简单的块
begin
dbms_output.put_line('hello,world');
end;
set serveroutput on;打开输出选项
--有定义和执行部分的块
--把用户的编号也显示
declare
--定义变量
v_ename varchar2(5);
v_sal number(7,2);
begin
--执行部分
select ename,sal into v_ename,v_sal from emp where empno=&aa;
--在控制台显示用户名
dbms_output.put_line('用户名是:'||v_ename||'工资是:'||v_sal);
--异常处理
exception
when no_date_found then
dbms_output.put_lint('朋友,你的编号输入有误')
end;
相关推荐
### PL/SQL编程基础知识 #### 一、PL/SQL简介 PL/SQL(Procedural Language for SQL)是一种过程化语言,它结合了SQL的数据操纵功能和过程化语言的控制结构,使用户能够灵活地控制数据操作流程。作为Oracle数据库...
【PL/SQL编程】是Oracle数据库中用于数据库管理和应用程序开发的一种高级过程语言,它结合了SQL查询语言的威力和高级编程语言的灵活性。本章详细介绍了PL/SQL的基础知识,帮助初学者快速掌握该语言。 **4.1 PL/SQL...
pl/sql编程基础教程,内容丰富,适合初学者学习。
本书是一本逐步分解的,详尽的pl/sql编程教程,使用真实场景的试验、范例和练习来介绍读者所需的pl/sql编程技能,涵盖oracle 11g的最新特性。作者的写作手法源自于在哥伦比亚大学教授pl/sql编程技术的经验,深度...
PL/SQL是Oracle数据库系统中的一个关键组成部分,它是一种过程化语言,专为数据库操作设计。这个"PL/SQL最新中文手册"显然是一份详细解释PL/SQL 7.0版本的指南,对于学习和精通Oracle数据库编程至关重要。以下是手册...
### PL/SQL基础编程知识点详解 #### 一、PL/SQL概述 PL/SQL,全称为Procedural Language for SQL,是Oracle数据库特有的高级程序设计语言。它结合了SQL的数据处理能力和传统编程语言的控制结构,使开发者能够在...
1. **编程能力**:PL/SQL允许编写包含控制结构(如循环、条件语句)和异常处理的程序块,这些块可以存储在数据库中并按需调用,提高了数据库应用的灵活性和复杂性。 2. **数据处理**:通过PL/SQL,用户可以直接对...
Oracle 10g PL/SQL 是Oracle数据库系统中用于创建和管理存储过程、函数、触发器等数据库对象的编程语言。本教程旨在为初学者提供一个全面的学习平台,同时也为经验丰富的开发者提供参考资料。PL/SQL是Oracle特有的...
PL/SQL编程教程电子书,全册,完整版。。。。
Oracle PL/SQL 编程及最佳实践 Oracle PL/SQL 是一种高级编程语言,用于开发 Oracle 数据库中的存储过程、函数和触发器。PL/SQL language 提供了强大的编程能力,可以实现复杂的业务逻辑,并且与 Oracle 数据库紧密...
Oracle PL/SQL是一种强大的编程语言,它将数据库管理和应用程序逻辑紧密结合起来,是Oracle数据库系统中的核心组件之一。这本书“Oracle PL/SQL实例编程”显然旨在深入讲解如何利用PL/SQL进行实际开发工作,通过实例...
Oracle PL/SQL编程是Oracle数据库管理系统中的重要组成部分,它是一种过程化语言,允许开发者编写复杂的数据库应用程序。在本次实验中,我们将重点学习PL/SQL的基本语法、控制结构、复合数据类型以及异常处理技术。 ...
PL/SQL Developer是一款由Allround Automations公司开发的专业Oracle数据库开发工具,专为编写、调试、测试和管理PL/SQL代码而设计。标题中的“pl/sql developer11.0”指的是该软件的第11个主要版本。在本文中,我们...
Oracle PL/SQL是一种强大的编程语言,它结合了SQL的数据处理能力与PL的程序设计特性,是Oracle数据库系统中用于创建存储过程、函数、触发器和包的主要工具。在这个"Oracle PL/SQL实战(待续)"的主题中,我们将深入...
《精通PL/SQL》这本书是针对Oracle数据库系统中PL/SQL编程语言的深度解析与实践指南,主要面向希望提升在Oracle环境下使用PL/SQL技能的专业人士。PL/SQL,全称为Procedural Language/Structured Query Language,是...
本书《精通Oracle10g PL/SQL编程》为读者提供了一个系统性的学习路径,从基础知识到高级应用,从具体技巧到最佳实践,涵盖了PL/SQL编程的方方面面。通过本书的学习,读者将能够有效地提高Oracle数据库编程的效率和...
通过学习本书,读者不仅可以掌握PL/SQL的基础编程知识(嵌入SQL语句和编写子程序),而且还可以掌握PL/SQL的所有高级开发特征(使用记录类型、集合类型、对象类型和大对象类型)。另外,本书还为应用开发人员提供了大量...
《精通Oracle 10g PL/SQL编程》是一本专门针对Oracle 10g版本的PL/SQL编程语言的权威指南书籍。Oracle 10g是甲骨文公司(Oracle Corporation)推出的数据库管理系统(DBMS)的一个重要版本,而PL/SQL是Oracle的存储...
《Oracle PL/SQL程序设计(第5版)》基于Oracle数据库11g,从PL/SQL编程、PL/SQL程序结构、PL/SQL程序数据、PL/SQL中的SQL、PL/SQL应用构建、高级PL/SQL主题这6个方面详细系统地讨论了PL/SQL以及如何有效地使用它。...