创建存储过程示例

CREATE OR REPLACE PROCEDURE P_XT_TEST_ZWL IS   TESTVALUE VARCHAR2(500);
  LS_ERR    VARCHAR2(500); --错误日志 BEGIN

SELECT H.SQLXH INTO TESTVALUE FROM CX_CXDY H WHERE ROWNUM < 3;
 COMMIT; EXCEPTION   WHEN OTHERS THEN

LS_ERR := ‘错误:‘ || SQLCODE || ‘: ‘ || SUBSTR(SQLERRM, 1,
500);  dbms_output.put_line(LS_ERR);   END;

调用

BEGIN
P_XT_TEST_ZWL;
END;

-- 创建输入参procedure:

drop procedure insert_student

create or replace procedure insert_student

(

user_id Number,user_name varchar2,user_pass varchar2

)

as

begin

insert into student values(user_id,user_name,user_pass);

end insert_student;

begin

insert_student(1,‘aaa‘,‘bbb‘);

commit;

end;

创建输出参procedure:

drop procedure proc_test2

create or replace procedure proc_test2

(

invalue out varchar2

)

as

begin

select user_name into invalue from user_info where user_id = 1001;

end proc_test2;

/

declare

parameter varchar2(20);

begin

proc_test2(parameter);

dbms_output.put_line(parameter);

end;

--既有输入,又有输出

create or replace procedure proc_test3

(

invalue in Integer,outvalue out varchar2

)

as

begin

select user_name into outvalue from user_info where user_id =
invalue;

end proc_test3;

/

declare

parameter Integer := 1001;

parameter1 varchar2(20);

begin

proc_test3(parameter,parameter1);

dbms_output.put_line(parameter1);

end;

创建存储过程示例

时间: 2024-11-05 22:58:19

创建存储过程示例的相关文章

Oracle中创建触发器示例及注意事项

Oracle中创建触发器示例及注意事项 1.oracle 中创建触发器示例 CREATE TABLE "CONCEPT"."FREQUENCYMODIFYLOG" ( "FREQUENCYID" NUMBER(10,0), "NAME" NVARCHAR2(30), "CODE" VARCHAR2(10 CHAR), "MNEMONICCODE" VARCHAR2(10 CHAR), &

skynet 创建存储过程脚本

最近主程更改了数据库的操作方案,由之前的拼写sql脚本转为在mysql端创建好存储过程后,直接调用存储过程. 首先对一个表测试上述过程: 数据库端存储过程:(测试表) CREATE TABLE `randomval` (  `id` int(10) unsigned NOT NULL,  `val` int(10) unsigned NOT NULL,  `step` int(10) unsigned NOT NULL,  PRIMARY KEY (`id`)) ENGINE=InnoDB  D

Yomotsu 使用 THREE.js 创建的示例(Examples created by Yomotsu using THREE.js)

太阳火神的美丽人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用途-保持一致"创作公用协议 转载请保留此句:太阳火神的美丽人生 -  本博客专注于 敏捷开发及移动和物联设备研究:iOS.Android.Html5.Arduino.pcDuino,否则,出自本博客的文章拒绝转载或再转载,谢谢合作. Examples created by Yomotsu using THREE.js 基本立方体 basic cube 带纹理的基本立方体basi

使用LVM创建LV示例

创建一个由至少两个物理卷组成的大小为10G的卷组:要求,PE大小8M:而后在卷组中创建大小为5G的逻辑卷mylv1,格式化为ext4文件系统,开机自动挂载至/users目录: 新建用户mageedu,其家目录为/users/mageedu,而后su至mageedu用户,复制/etc/fstab文件至自己的家目录: 扩展mylv1至7G,确保/users/mageedu的数据不受影响:而后su至mageedu用户,验正数据可正常访问: 缩减mylv1至4G,确保/users/mageedu的数据不

MySql中创建存储过程

MySQL 存储过程是从 MySQL 5.0 开始增加的新功能.存储过程的优点有一箩筐.不过最主要的还是执行效率和SQL 代码封装.特别是 SQL 代码封装功能,如果没有存储过程,在外部程序访问数据库时(例如 PHP),要组织很多 SQL 语句.特别是业务逻辑复杂的时候,一大堆的 SQL 和条件夹杂在 PHP 代码中,让人不寒而栗.现在有了 MySQL 存储过程,业务逻辑可以封装存储过程中,这样不仅容易维护,而且执行效率也高. 一.MySQL 创建存储过程 "pr_add" 是个简单的

MySQL创建存储过程

存储过程和函数的区别参考链接: http://www.cnblogs.com/lengbingshy/archive/2010/02/25/1673476.html 创建存储过程: DROP PROCEDURE mypro;CREATE procedure mypro (sid INT,OUT sCount INT)BEGIN SELECT COUNT(*) INTO sCount from student where id = sid;END 执行该存储过程: CALL mypro(1,@c)

[转]MYSQL 创建存储过程

MySQL 存储过程是从 MySQL 5.0 开始增加的新功能.存储过程的优点有一箩筐.不过最主要的还是执行效率和SQL 代码封装.特别是 SQL 代码封装功能,如果没有存储过程,在外部程序访问数据库时(例如 PHP),要组织很多 SQL 语句.特别是业务逻辑复杂的时候,一大堆的 SQL 和条件夹杂在 PHP 代码中,让人不寒而栗.现在有了 MySQL 存储过程,业务逻辑可以封装存储过程中,这样不仅容易维护,而且执行效率也高. 一.MySQL 创建存储过程 "pr_add" 是个简单的

SQL Server创建存储过程(转载)

什么是存储过程? q       存储过程(procedure)类似于C语言中的函数 q       用来执行管理任务或应用复杂的业务规则 q       存储过程可以带参数,也可以返回结果 q       存储过程可以包含数据操纵语句.变量.逻辑 控制语句等 存储过程的优点 (1)执行速度快. 存储过程创建是就已经通过语法检查和性能优化,在执行时无需每次编译. 存储在数据库服务器,性能高. (2)允许模块化设计. 只需创建存储过程一次并将其存储在数据库中,以后即可在程序中调用该过程任意次.存储

mysql 存储过程 示例代码

drop procedure if exists P_SEQUENCE; /** 暂省略包 @AUTO LIANGRUI 2014/6/27 T_PRO_PRODUCT 表 排序 对整个表进行按序号排序 根据序号从新自然排序 重复序号的安创建日期分配序号 测试阶段 测试调用 set @merid='TEST66'; call P_SEQUENCE(@merid); **/ create procedure P_PRODUCT_SEQUENCE( in v_merchar_id VARCHAR(1