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. sqlserver 中的GUID 全局唯一标识 -摘自网络

    --简单实用全局唯一标识 DECLARE @myid uniqueidentifierSET @myid = NEWID()PRINT 'Value of @myid is: '+ CONVERT(v ...

  2. Salt自动化之自动更新Gitfs-爱折腾技术网

    Salt自动化之自动更新Gitfs-爱折腾技术网 pygit2

  3. homework08

    1.局部变量生命周期 #include "iostream.h" ;} int main() { ; add1(n); cout << n << endl; ...

  4. [转]ORA-00907: 缺失右括号

    转至:http://www.cnblogs.com/Olive116/p/5149680.html ORA-00907: 缺失右括号 前言 最近在开发过程中使用oracle数据库,在程序中进行查询数据 ...

  5. 关于session更新的问题

    最近在学习用ssh框架做一个实习生招聘系统,已经做了大半.今天突然想到一个问题,在登录的时候我把用户的所有信息放到session中去,那么我不同用户同时登录的时候session中的信息是否会被覆盖掉( ...

  6. 【SQL】导出表数据到Excel中

    打开数据库之后点击新建表查询: ------------------------------------------------------------------------------------ ...

  7. IIS支持其他类型下载

    路径:IIS--默认网站属性-->http 头-->MIME映射 -->文件类型 -->新类型

  8. ADO.NET 快速入门(十二):从 SQL Server 生成 XML 数据

    本文演示如何使用2种不同的方法从 SQL Server 生成 XML.   方法1:使用了 SqlCommand 的 ExecuteXmlReader 方法获取 XmlReader,然后使用 Data ...

  9. ADO.NET 快速入门(六):读写 XML

    ADO.NET 和 DataSet 可以读写 XML Schema 和 XML.获取更多信息,请参考 How do I...Use XML and the DataSet?   DataSet 的 S ...

  10. C语言中用宏来作注释

    看了PostgreSQL的代码后,我觉得有不理解的地方,比如: 例如这样的: /* Options that may appear after CATALOG (on the same line) * ...