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. spider RPC插件化体系

    为了满足灵活扩展的需要,spider支持灵活的自定义插件扩展,从功能上来说,插件和过滤器的差别在于过滤器不会阻止请求的执行同时对于主程序不会有API上的影响(比如servlet 过滤器和监听器)(最多 ...

  2. SpringMVC之HandlerMapping源码剖析(一)

    学习一种知识,我喜欢看看源码是怎么进行它们类之间的关系以及方法的调用,是怎么实现的.这样我才感觉踏实. 既然现在谈到HandlerMapping,我们先知道HandlerMapping的作用:Hand ...

  3. Hibernate4.2.4入门(一)——环境搭建和简单例子

    一.前言 发下牢骚,这段时间要做项目,又要学框架,搞得都没时间写笔记,但是觉得这知识学过还是要记录下.进入主题了 1.1.Hibernate简介 什么是Hibernate?Hibernate有什么用? ...

  4. 在Thinkphp中使用AJAX实现无刷新分页

    在Thinkphp目录的Lib\ORG\Util\目录里新建AjaxPage.class.php,写入一下内容: <?php // +------------------------------ ...

  5. tomcat项目中文乱码问题解决方法

    在部署tomcat项目时经常会遇到中文乱码问题,解决的方法可参考以下步骤. 1.更改Tomcat安装目录下的conf\server.xml,指定浏览器的编码格式为"utf-8"格式 ...

  6. app字体被放大效果发虚

    IOS App所有字体被放大,显示效果发虚 小小程序猿 我的博客:http://daycoding.com 分析原因: 由于新版本上线更换了LaunchImage,没有注意美工给的图片尺寸,由于图片尺 ...

  7. Json生成与解析

    JSON常用与服务器进行数据交互,JSON中"{}"表示JSONObject,"[]"表示JSONArray 如下json数据: {"singers& ...

  8. Tomcat中的Session小结

    什么是Session 对Tomcat而言,Session是一块在服务器开辟的内存空间,其存储结构为ConcurrentHashMap: Session的目的 Http协议是一种无状态协议,即每次服务端 ...

  9. ASP.NET MVC 5 03 - 安装MVC5并创建第一个应用程序

    不知不觉 又逢年底, 穷的钞票 所剩无几. 朋友圈里 各种装逼, 抹抹眼泪 MVC 继续走起.. 本系列纯属学习笔记,如果哪里有错误或遗漏的地方,希望大家高调指出,当然,我肯定不会低调改正的.(开个小 ...

  10. CSS3:RGBA的使用方法

    1.说明 此色彩模式与RGB相同,只是在RGB模式上新增了Alpha透明度. RGBA(R,G,B,A) 2.取值 R: 红色值,正整数值的取值范围为:0 - 255,百分数值的取值范围为:0.0% ...