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. YARN应用场景、原理与资源调度

    1.Hadoop YARN产生背景 源于MapReduce1.0 运维成本 如果采用“一个框架一个集群”的模式,则可能需要多个管理员管理这些集群,进而增加运维成本,而共享模式通常需要少数管理员即可完成 ...

  2. [Hive - Tutorial] Type System 数据类型

    数据类型Type System Hive supports primitive and complex data types, as described below. See Hive Data Ty ...

  3. Junit。。。

    keep the bar green to keep the code clean.

  4. 【转】iOS开发--一步步教你彻底学会『iOS应用间相互跳转』

    1. 应用间相互跳转简介 在iOS开发的过程中,我们经常会遇到需要从一个应用程序A跳转到另一个应用程序B的场景.这就需要我们掌握iOS应用程序之间的相互跳转知识. 下面来看看我们在开发过程中遇到的应用 ...

  5. Delphi使用FindClass实现动态建立对像(有点像反射)

    相关资料:http://www.blogjava.net/nokiaguy/archive/2008/05/10/199739.html { http://www.blogjava.net/nokia ...

  6. HDU 5742 It's All In The Mind (贪心)

    It's All In The Mind 题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5742 Description Professor Zhan ...

  7. uva 796 Critical Links(无向图求桥)

    https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem& ...

  8. [iOS 多线程 & 网络 - 2.7] - NSURLCache

    A.基本知识 1.为什么需要缓存?   有时候一个url会请求多次,得到的内容确实一样的   2.缓存的概念     3.缓存数据的过程     当服务器返回数据时,需要做以下步骤(1)使用服务器的数 ...

  9. 嵌入式LINUX入门到实践(二)

    这篇中将围绕韦东山LINUX第二部分教程源码,对IIC协议进行程序实现上的分析. /* I2C registers */#define IICCON      (*(volatile unsigned ...

  10. mongodb 、nosql、 redis、 memcached 是什么?

    mongodb 是一个基于文档的数据库,所有数据是从磁盘上进行读写的.MongoDB善长的是对无模式JSON数据的查询.而Redis是一个基于内存的键值数据库,它由C语言实现的,与Nginx/ Nod ...