`
aikon218
  • 浏览: 4829 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

玩转PL/SQL编程/小白专属

 
阅读更多

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程序中调用 ************


我们可以编程一些复杂的查询,用编程方式来实现,这样查询语句就简单化了

  1. 优势:
    简化复杂度了,减少网络的传输,增加程序的模块化
    提高运行性能运行速度更快,提高安全性
    不好:
    移植性不好
  2. 用什么编写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;

 

分享到:
评论
1 楼 aikon218 2014-11-14  
写的好辛苦 , 暂时到这里 ,

相关推荐

    PL/SQL编程基础知识

    ### PL/SQL编程基础知识 #### 一、PL/SQL简介 PL/SQL(Procedural Language for SQL)是一种过程化语言,它结合了SQL的数据操纵功能和过程化语言的控制结构,使用户能够灵活地控制数据操作流程。作为Oracle数据库...

    PL/SQL编程(电子版)

    【PL/SQL编程】是Oracle数据库中用于数据库管理和应用程序开发的一种高级过程语言,它结合了SQL查询语言的威力和高级编程语言的灵活性。本章详细介绍了PL/SQL的基础知识,帮助初学者快速掌握该语言。 **4.1 PL/SQL...

    第16章Pl/sql编程基础

    pl/sql编程基础教程,内容丰富,适合初学者学习。

    oracle pl/sql 实例精解(中文原书第4版)

    本书是一本逐步分解的,详尽的pl/sql编程教程,使用真实场景的试验、范例和练习来介绍读者所需的pl/sql编程技能,涵盖oracle 11g的最新特性。作者的写作手法源自于在哥伦比亚大学教授pl/sql编程技术的经验,深度...

    pl/sql最新中文手册

    PL/SQL是Oracle数据库系统中的一个关键组成部分,它是一种过程化语言,专为数据库操作设计。这个"PL/SQL最新中文手册"显然是一份详细解释PL/SQL 7.0版本的指南,对于学习和精通Oracle数据库编程至关重要。以下是手册...

    PL/SQL基础编程,实例自写

    ### PL/SQL基础编程知识点详解 #### 一、PL/SQL概述 PL/SQL,全称为Procedural Language for SQL,是Oracle数据库特有的高级程序设计语言。它结合了SQL的数据处理能力和传统编程语言的控制结构,使开发者能够在...

    一个对数据库的操作工具PL/SQLpl/sqL工具

    1. **编程能力**:PL/SQL允许编写包含控制结构(如循环、条件语句)和异常处理的程序块,这些块可以存储在数据库中并按需调用,提高了数据库应用的灵活性和复杂性。 2. **数据处理**:通过PL/SQL,用户可以直接对...

    oracle10g_pl/sql

    Oracle 10g PL/SQL 是Oracle数据库系统中用于创建和管理存储过程、函数、触发器等数据库对象的编程语言。本教程旨在为初学者提供一个全面的学习平台,同时也为经验丰富的开发者提供参考资料。PL/SQL是Oracle特有的...

    PL/SQL编程教程

    PL/SQL编程教程电子书,全册,完整版。。。。

    Oracle PL/SQL编程及最佳实践

    Oracle PL/SQL 编程及最佳实践 Oracle PL/SQL 是一种高级编程语言,用于开发 Oracle 数据库中的存储过程、函数和触发器。PL/SQL language 提供了强大的编程能力,可以实现复杂的业务逻辑,并且与 Oracle 数据库紧密...

    Oracle PL/SQL实例编程(PL/SQL经典书籍)

    Oracle PL/SQL是一种强大的编程语言,它将数据库管理和应用程序逻辑紧密结合起来,是Oracle数据库系统中的核心组件之一。这本书“Oracle PL/SQL实例编程”显然旨在深入讲解如何利用PL/SQL进行实际开发工作,通过实例...

    oracle实验三PL/SQL编程

    Oracle PL/SQL编程是Oracle数据库管理系统中的重要组成部分,它是一种过程化语言,允许开发者编写复杂的数据库应用程序。在本次实验中,我们将重点学习PL/SQL的基本语法、控制结构、复合数据类型以及异常处理技术。 ...

    pl/sql developer11.0

    PL/SQL Developer是一款由Allround Automations公司开发的专业Oracle数据库开发工具,专为编写、调试、测试和管理PL/SQL代码而设计。标题中的“pl/sql developer11.0”指的是该软件的第11个主要版本。在本文中,我们...

    Oracle PL/SQL实战(待续)

    Oracle PL/SQL是一种强大的编程语言,它结合了SQL的数据处理能力与PL的程序设计特性,是Oracle数据库系统中用于创建存储过程、函数、触发器和包的主要工具。在这个"Oracle PL/SQL实战(待续)"的主题中,我们将深入...

    精通pl/sql

    《精通PL/SQL》这本书是针对Oracle数据库系统中PL/SQL编程语言的深度解析与实践指南,主要面向希望提升在Oracle环境下使用PL/SQL技能的专业人士。PL/SQL,全称为Procedural Language/Structured Query Language,是...

    精通oracle10g PL/SQL编程

    本书《精通Oracle10g PL/SQL编程》为读者提供了一个系统性的学习路径,从基础知识到高级应用,从具体技巧到最佳实践,涵盖了PL/SQL编程的方方面面。通过本书的学习,读者将能够有效地提高Oracle数据库编程的效率和...

    精通Oracle 10g PL/SQL编程

    通过学习本书,读者不仅可以掌握PL/SQL的基础编程知识(嵌入SQL语句和编写子程序),而且还可以掌握PL/SQL的所有高级开发特征(使用记录类型、集合类型、对象类型和大对象类型)。另外,本书还为应用开发人员提供了大量...

    精通oracle 10g pl/sql编程

    《精通Oracle 10g PL/SQL编程》是一本专门针对Oracle 10g版本的PL/SQL编程语言的权威指南书籍。Oracle 10g是甲骨文公司(Oracle Corporation)推出的数据库管理系统(DBMS)的一个重要版本,而PL/SQL是Oracle的存储...

    Oracle PL/SQL程序设计(第5版)(下册)第二部分

    《Oracle PL/SQL程序设计(第5版)》基于Oracle数据库11g,从PL/SQL编程、PL/SQL程序结构、PL/SQL程序数据、PL/SQL中的SQL、PL/SQL应用构建、高级PL/SQL主题这6个方面详细系统地讨论了PL/SQL以及如何有效地使用它。...

Global site tag (gtag.js) - Google Analytics