1.基础环境

oracle HR环境添加新表

CREATE TABLE "HR"."cus_test" (
"id" VARCHAR2 (255 BYTE) NOT NULL,
"mobile" VARCHAR2 (255 BYTE) NULL,
"name" VARCHAR2 (255 BYTE) NULL,
"times" DATE NULL
); ALTER TABLE "HR"."cus_test" ADD CHECK ("id" IS NOT NULL); ALTER TABLE "HR"."cus_test" ADD PRIMARY KEY ("id");

设置自增函数

CREATE SEQUENCE AutoID8 -- 函数名AutoID
START WITH 2 -- 起始值 2
INCREMENT BY 2 -- 步长 2
MINVALUE 2 -- 最小值 2
NOMAXVALUE;

2.存储过程不带参数

CREATE
OR REPLACE PROCEDURE vvinstat AS
BEGIN
INSERT INTO "HR"."cus_test" (
"id",
"mobile",
"name",
"times"
)
VALUES
(
AutoID.nextval,
'',
'kamil',
SYSDATE
) ; COMMIT ;
END ;
/

调用存储过程

SET SERVEROUTPUT ON
DECLARE
BEGIN
VVINSTAT;
END ;

3.带参数IN(scott环境)

CREATE
OR REPLACE PROCEDURE find_emp1 (emp_no NUMBER) AS emp_name VARCHAR2 (20) ;
BEGIN
SELECT
ename INTO emp_name
FROM
EMP
WHERE
empno = emp_no ; DBMS_OUTPUT.PUT_LINE (
'雇员姓名:' || emp_name
) ; EXCEPTION
WHEN no_data_found THEN
DBMS_OUTPUT.PUT_LINE ('雇员编号没有找到') ;
END ;
/

执行

SET SERVEROUTPUT ON
DECLARE
BEGIN
FIND_EMP1(7566);
END ;
-- PL/SQL 过程已成功完成。
-- 雇员姓名:JONES
/*
雇员编号没有找到
*/

4.参数out(scott)

CREATE
OR REPLACE PROCEDURE my_proc_out (
value1 IN NUMBER,
value2 out NUMBER
) IS salary NUMBER ;
BEGIN
SELECT
sal INTO salary
FROM
emp
WHERE
empno = value1 ;
IF salary < 8000 THEN
value2 := salary + 500 ; UPDATE emp
SET sal = value2
WHERE
empno = value1 ;
ELSE
value2 := salary ;
END
IF ;
END ;
/

执行:

SET SERVEROUTPUT ON
DECLARE v1 NUMBER := 7566 ; v2 NUMBER ;
BEGIN
MY_PROC_OUT (v1, v2) ; DBMS_OUTPUT.PUT_LINE (
'v2 的值为' || TO_CHAR (v2)
) ;
END ;
/

5.IN OUT(scott)

CREATE or REPLACE PROCEDURE test_IN_OUT
(v1 in out number,
v2 in out number)
is
value1 number:=0;
BEGIN
value1 :=v1;
v1 :=v2;
v2 :=value1;
dbms_output.put_line('v1:'||v1||' '||'v2:'||v2);
end;
/

调用()

set SERVEROUTPUT ON
DECLARE
value1 number :=11111;
value2 number :=22222;
BEGIN
test_IN_OUT(value1,value2);
end;
/

Oracle存储过程由例子到理论的更多相关文章

  1. oracle存储过程的例子

    oracle存储过程的例子 分类: 数据(仓)库及处理 2010-05-03 17:15 1055人阅读 评论(2)收藏 举报 认识存储过程和函数 存储过程和函数也是一种PL/SQL块,是存入数据库的 ...

  2. ORACLE存储过程定时器例子(存储过程变量赋值)

    CREATE OR REPLACE PROCEDURE SP_DSSJTS_XMRSLOG as str1 ); str2 ); str3 ); begin select 'xmrslog_'||ex ...

  3. oracle 存储过程

    来自:http://www.jb51.net/article/31805.htm Oracle存储过程基本语法 存储过程 1 CREATE OR REPLACE PROCEDURE 存储过程名 2 I ...

  4. Oracle存储过程语法

    原文链接:http://www.jb51.net/article/31805.htm Oracle存储过程基本语法 存储过程  1 CREATE OR REPLACE PROCEDURE 存储过程名  ...

  5. Oracle存储过程基本语法介绍

    Oracle存储过程基本语法 存储过程 1 CREATE OR REPLACE PROCEDURE 存储过程名 2 IS 3 BEGIN 4 NULL; 5 END; 行1: CREATE OR RE ...

  6. Oracle存储过程(转)

    Oracle存储过程基本语法 存储过程 1 CREATE OR REPLACE PROCEDURE 存储过程名 2 IS 3 BEGIN 4 NULL; 5 END; 行1: CREATE OR RE ...

  7. ORACLE存储过程学习

    存储过程 1 CREATE OR REPLACE PROCEDURE 存储过程名 2 IS 3 BEGIN 4 NULL; 5 END; 行1: CREATE OR REPLACE PROCEDURE ...

  8. Oracle 存储过程异常处理

    Oracle 存储过程异常处理 1.异常的优点    如果没有异常,在程序中,应当检查每个命令的成功还是失败,如  BEGIN  SELECT ...  -- check for ’no data f ...

  9. (转)oracle 存储过程 带游标作为OUT参数输出

    (转)oracle 存储过程 带游标作为OUT参数输出 存储过程返回OUT参数的游标 例子. 包中带过程 要自己定义一个type [cur_name] is ref cursor游标,返回的时候就直接 ...

随机推荐

  1. 服务发现与健康监测框架Consul-DNS转发的应用

    关于Consul Consul是一个提供服务注册与发现,健康监测,Key/Value存储以及多数据中心存储的分布式框架.官网地址是https://www.consul.io/,公司初步应用后我们老大觉 ...

  2. 今天思考一个问题,PHP const和static的区别

    static关键字在类中是,描述一个成员是静态的,static能够限制外部的访问,因为static后的成员是属于类的,是不属于任何对象实例,其他类是无法访问的,只对类的实例共享,能一定程序对该成员尽心 ...

  3. 兼容javascript和C#的RSA加密解密算法,对web提交的数据进行加密传输

    Web应用中往往涉及到敏感的数据,由于HTTP协议以明文的形式与服务器进行交互,因此可以通过截获请求的数据包进行分析来盗取有用的信息.虽然https可以对传输的数据进行加密,但是必须要申请证书(一般都 ...

  4. 小程序https Android 安卓可以发request请求,IOS 苹果 发请求失败问题

    如果一个机器可以发送成功,一个机器发送失败,那多半是是域名的https支持的问题 那就用腾讯云的这个ssl测试工具检测下 https://www.qcloud.com/product/ssl#user ...

  5. jquery双向列表选择器DIV模拟版

    前段时间项目需要用到双向列表选择,想直接用select,结果发现某些样式不支持,只好用div模拟了以下,功能基本实现能用了,需要其他功能自己加上,譬如列表里展示多列数据等. select版链接:htt ...

  6. Json对象与Json字符串互转(4种转换方式)

    Json字符与Json对象的相互转换方式有很多,接下来将为大家一一介绍下,感兴趣的朋友可以参考下哈,希望可以帮助到你 1>jQuery插件支持的转换方式: 复制代码代码如下: $.parseJS ...

  7. html 概念

    HTML 超文本标记语言,标准通用标记语言下的一个应用.http://baike.baidu.com/link?url=RYF4Pj7VUPifcXatU7OJLGRljIgkp4MjzkspARor ...

  8. Dojo: Quick Start

      1.Dojo学习地址 2.Dojo快速开始 2.1.Dojo引入 2.2.指定Dojo模块的位置 2.3.模块加载require 3.查找Dom节点 3.1.根据id查找dom节点 3.2.根据c ...

  9. Oracle连接odbc数据源

    Oracle连接odbc数据源 说明 oracle连接ODBC数据源有两种方式,hsodbc和dg4odbc,简单说dg4odbc是hsodbc的升级.两种连接方法大致一样,现将连接步骤说明如下: 检 ...

  10. Web.xml配置详解

    (转自:http://www.cnblogs.com/chinafine/archive/2010/09/02/1815980.html) 1 定义头和根元素 部署描述符文件就像所有XML文件一样,必 ...