pl/sql语言是oracle在sql上扩展的语言。
1 过程、函数、触发器是在pl/sql编写
2 过程、函数、触发器是在oracle中
3 pl/sql的语句可以在java中直接调用

简单介绍

在sql—plus编写一个存储过程,该过程可以向某表中添加记录。

第一步:创建表
create table mytest(name varchar2(20), passwd varchar2(20));

第二步:创建过程
create procedure mypro1 is begin
--执行部分
insert into mytest value('wdx','123')
end;
/
--回车
(注意事项:如果系统以后有mypro1这个过程名了,要么换名要么在create后面加上or replace;如果有错,输入紧跟着输入show error)

第三步:调用该过程
方式1:exec 过程名(参数值1,参数值2....)
方式2: call 过程名(参数值1,参数值2....)

当然也可以在pl/sql developer中创建上述过程,类似。

pl/sql可以编写过程、函数、触发器、包等。

编写规范:

1 注释
单行注释--
多行注释/*...*/

2 标识符号的命名规范
当定义变量时,建议用v_作为前缀
当定义的常量时,建议使用c_
当定义的游标时,建议使用_cursor
当定义例外error时,建议使用e_

***块***

pl/sql使用来编写块的,块结构示意图,三部分构成,分别为定义部分、执行部分、例外处理部分,
declear
/*定义开始*/
begin
/*执行部分*/
exception
/*例外处理部分*/
end;

实例1-只包括执行部分的pl/sql块

set serveroutput on --打开输出选项
begin
  dbm_output.put_line('hello world')
  --dbm_output是包,包里面可以是函数和过程
end;
/

实例2-包含定义部分和执行部分的pl/sql块

set serveroutput on --打开输出选项

declare
v_ename varchar2();
v_sal number(,); begin
  select ename,sal into v_ename, v_sal from emp where empno = &no;
  --no是一个接收用户输入的变量,名字可以随便起
  dbm_output.put_line('雇员名'||v_ename ||' 工资:'||v_sal); exception
  when no_data_found then
  --no_data_fount是oracle预先已经定义的意外
  dbms_output.put_line('输入的编号有错误');
end;
/

过程:

过程用于执行特定的操作,当建立过程时,既可以指定输入参数也可以指定输出参数,通过在过程中使用输入参数,可
以将数据传递到执行部分,通过使用输出参数,可以将执行部分的数据传递到应用环境。

实例1

create procedure mypro(spName varchar2, spsal number) is
begin
  --执行,根据用户名去修改工资
  update emp set sal=spsal where ename=spName;
end;
/ call mypro('scott',);

oracle pl/sql简介、块、过程的更多相关文章

  1. 十九、oracle pl/sql简介

    一.pl/sql 是什么pl/sql(procedural language/sql)是oracle在标准的sql语言上的扩展.pl/sql不仅允许嵌入sql语言,还可以定义变量和常量,允许使用条件语 ...

  2. oracle pl/sql 简介

    一.pl/sql 是什么pl/sql(procedural language/sql)是oracle在标准的sql语言上的扩展.pl/sql不仅允许嵌入sql语言,还可以定义变量和常量,允许使用条件语 ...

  3. oracle pl/sql远程连接过程

    之前没用过oracle,现在公司用到就记录下安装过程吧.安装PL/SQL工具,安装oracle11G工具.打开PL/SQL 进行配置.

  4. Oracle PL/SQL编程之过程

    1.简介 过程用于执行特定的操作,当建立过程时,既可以指定输入参数(in),也可以指定输出参数(out),通过在过程中使用输入参数,可以将数据传递到执行部分,通过使用输出参数,可以将执行部分的数据传递 ...

  5. Oracle中PL/SQL简介、基本语法以及数据类型

    Oracle中PL/SQL简介.基本语法以及数据类型 一.PL/SQL简介. Oracle PL/SQL语言(Procedural Language/SQL)是结合了结构化查询和Oracle自身过程控 ...

  6. oracle 10g 学习之PL/SQL简介和简单使用(10)

    PL /SQL是一种高级数据库程序设计语言,该语言专门用于在各种环境下对ORACLE数据库进行访问.由于该语言集成于数据库服务器中,所以PL/SQL代码可以对数据进行快速高效的处理.PL/SQL是 P ...

  7. ORACLE PL/SQL编程之六:把过程与函数说透(穷追猛打,把根儿都拔起!)

    原文:ORACLE PL/SQL编程之六:把过程与函数说透(穷追猛打,把根儿都拔起!) ORACLE PL/SQL编程之六: 把过程与函数说透(穷追猛打,把根儿都拔起!)   继上篇:ORACLE P ...

  8. [推荐]ORACLE PL/SQL编程详解之一:PL/SQL 程序设计简介(千里之行,始于足下)

    原文:[推荐]ORACLE PL/SQL编程详解之一:PL/SQL 程序设计简介(千里之行,始于足下) [推荐]ORACLE PL/SQL编程详解之一: PL/SQL 程序设计简介(千里之行,始于足下 ...

  9. Oracle基础(五)pl/sql进阶(分页过程)

    编写分页过程         通过pl/sql实现分页过程,再该过程中由简单到难一步步深入,目的在于通过该案例熟悉pl/sql的各种存储过程,包,游标.怎样在java中调用等内容的学习. 1.无返回值 ...

随机推荐

  1. PyBayes的安装和使用

    PyBayes 主页 文档 PyBayes is an object-oriented Python library for recursive Bayesian estimation (Bayesi ...

  2. Linux cat命令参数及使用方法详解

    cat是Linux系统下用来查看文件连续内容用的指令,字面上的含意是“concatenate”(连续)的缩写.除了用来作为显示文件内容外,cat指令也可用于标准流上的处理,如将显示的信息转入或附加另一 ...

  3. MySQL分支Percona, cmake编译安装

    Percona是在MySQL基础上改进的,在功能和性能上有着很显著的提升.该版本提升了在高负载情况下的InnoDB的性能,为DBA提供一些非常有用的性能诊断工具:另外有更多的参数和命令来控制服务器行为 ...

  4. 现代程序设计——homework-06

    题目: http://www.cnblogs.com/xinz/p/3382048.html 这是一道要多坑有多坑的题目,题目有很多步.综合起来就是这个意思: 在很久以前,有一个大牛,当然那个时候他还 ...

  5. maven系列(3)-maven生命周期的介绍

    1. 概述 Maven有三套相互独立的生命周期,请注意这里说的是"三套",而且"相互独立",初学者容易将Maven的生命周期看成一个整体,其实不然.这三套生命周 ...

  6. Linux后台运行程序

    Linux后台运行程序 最近写的程序需要部署到Linux服务器上,按照以前的方式,在运行后面增加&,程序会切换为后台运行.但因为Linux一般是通过ssh远程登录的,等到退出当前session ...

  7. 使用paramiko进行打包操作

    使用paramiko执行ssh命令的时候有一个很坑爹的地方:它无法准确的识别你的系统环境变量,所以使用一些命令的时候会发现,直接在系统中执行该命令的时候可以,但是换成paramiko执行的时候会报错说 ...

  8. 转载 从Http到Https

    转载自 http://www.cnblogs.com/silin6/p/5928503.html HTTP 当你在浏览器输入一个网址 (例如 http://tasaid.com)的时候,浏览器发起一个 ...

  9. 【Linux常用工具】02. 创建启动定时任务工具cron

    一. cron 1. cron是一个守护程序,它提供定时器的功能,让用户在特定的时间得以执行默认的指令或程序.只要用户会编辑定时器的设置文件,就可以使用定时器的功能. 定时器文件格式: 2. cron ...

  10. HDU 3308 LCIS (线段树区间合并)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3308 题目很好懂,就是单点更新,然后求区间的最长上升子序列. 线段树区间合并问题,注意合并的条件是a[ ...