存储过程包括3个部分,定义部分、执行部分、例外处理部分
使用前 先执行set serveroutput on;
1、最简单的存储过程
begin
null;
end;
/
或者
begin
DBMS_OUTPUT.PUT_LINE('This is First Prccedure!');
end;
/
2、带有定义部分的存储过程(v_str是定义的字符串类型的变量)
declare
v_str varchar2(100) :='This is second procedure!';
begin
DBMS_OUTPUT.PUT_LINE(v_str);
end;
/
或者
declare
v_str varchar2(100) ;
begin
SELECT 'This is second procedure!' INTO v_str FROM DUAL;
DBMS_OUTPUT.PUT_LINE(v_str);
end;
/
3、带有例外处理部分的存储过程
Declare
v_name varchar(2);
Begin
SELECT sname INTO v_name FROM student WHERE sid=&sid;
Exception
when NO_DATA_FOUND then
DBMS_OUTPUT.PUT_LINE('请输入正确的SID!');
End;
/
4、带名字但不带参数的存储过程
create or replace procedure first_pro
is
begin
DBMS_OUTPUT.PUT_LINE('带名字但不带参数的存储过程!');
end;
执行存储过程
Exec first_pro();
call first_pro();
5、带名字且带出入参数和传出参数的存储过程
create or replace procedure second_pro(p_sid in number, p_sname out varchar2,p_cid in out number)
is
begin
select sname, c_id into p_sname,p_cid from student where sid=p_sid;
end;
调用该存储过程
declare
v_name varchar2(20);
v_cid number;
begin
second_pro(2,v_name,v_cid);
dbms_output.put_line('v_name='||v_name);
dbms_output.put_line('v_cid='||v_cid);
end;
6、没有传出只有传入参数的存储过程
create or replace procedure third_pro(p_sid in number,p_sname varchar2)
is
begin
update student set sname = p_sname where sid=p_sid;
End;
调用该存储过程
Exec third_pro(100,'Mary');
Call third_pro(100,'Lily');
7、一个返回值的函数
create or replace function first_fun(p_sid number)
return varchar2
is v_name varchar2(20);
begin
select sname into v_sname from student where sid=p_sid;
return v_sname;
end;
调用
Select first_fun(100) from dual;
8、多个返回值的函数
create or replace function first_fun(p_sid number,p_sname out varchar2)
return number
is v_cid number;
begin
select sname,c_id into p_sname,v_cid from student where sid=p_sid;
return v_cid;
end;
调用
declare
v_name varchar2(20);
v_cid number;
begin
v_cid:=first_fun(100,v_name);
dbms_output.put_line('v_name='||v_name);
dbms_output.put_line('v_cid='||v_cid);
end;
分享到:
相关推荐
原创sql存储过程函数范例,一是为了自己方便查找,今天到公司因为没有我保存的一些范例,一个简单的例子写了半个小时,如果有范例直接套几分钟肯定搞定,所以索性上传到CSDN上,何时何地都能找到我的范例了。...
简单的学习例子 sqlserver 存储过程、函数的创建和使用 和 常用知识点
存储过程,oracle写得简单存储过程函数,java环境
orcal存储过程和函数操作大全,设置自增字段等
本文介绍一下扩展存储过程,该动态库导出了三个函数: Init,work,Final,Init读文件,存储信息于内存,work简单的只是向该内存检索信息,Final回收内存。如上所说,假如不考虑同一 进程空间多次加载问题,两次调用Init...
MySQL触发器、存储过程、自定义函数、视图简单示例
创建储存过程和创建储存过程的ppt,该ppt内容全面、详细、简单、通俗易懂。很好理解上手。创建储存过程和创建储存过程的ppt,该ppt内容全面、详细、简单、通俗易懂。很好理解上手。创建储存过程和创建储存过程的ppt,该...
笔者找到的功能最强大、操作最简单、使用最可靠的数据库解密工具,用于解密的SQL Server2000、2005等版本的存储过程、函数、触发器和视图。 执行连接到数据库后,左边直接列出数据库清单以及每个数据库内的存储过程...
笔者找到的功能最强大、操作最简单、使用最可靠的数据库解密工具,用于解密的SQL Server2000、2005等版本的存储过程、函数、触发器和视图。 执行连接到数据库后,左边直接列出数据库清单以及每个数据库内的存储过程...
oracle 的函数、存储过程、游标、简单实例 oracle常用语句oracle 的函数、存储过程、游标、简单实例 oracle常用语句
存储过程、函数解密工具,简单、全面,好用
包括数据库文件和C#简单调用SQL存储过程及函数的方法
第一章 oracle存储过程概述 2 1.1 存储过程基本结构(PROCEDURE) 3 1.1.1创建存储过程 3 1.1.2 存储过程删除 5 1.1.3 调用存储过程 5 1.2存储函数(FUNCTIONE) 6 1.2.1 创建存储函数 6 1.2.2 删除存储函数 7 1.3 包...
SQL 数据库 ADO.net数据库存储过程的实例,数据库函数实例的小例子 有助于初学者更好的理解存储过程的操作
在oracle中,函数和存储过程是经常使用到的,他们的语法中有很多相似的地方,可是也有它们的不同之处,这段时间刚学完函数与存储过程,来给自己做一个总结: 一:存储过程:简单来说就是有名字的pl/sql块。 语法结构...
存储过程中调用把汉字转换成字母的函数,简单实用方便!
首先,在数据库端创建简单的存储过程。 create or replace procedure test_msg(i_user in varchar2, o_msg out varchar2) is begin o_msg := i_user ||', Good Morning!'; end; 然后,开始在Python命令行中进行...
初学者专用,老司机看了也能回顾知识,个人总结,不喜勿喷。
数据库对象表时存储和操作数据的逻辑结构,而数据库对象存储过程和函数,则是用来实现将一组关于表操作的sql语句... 存储过程和函数可以简单理解为一条或多条sql语句的集合。存储过程和函数就是事先经过编译并存储在数
在 MySQL 中创建储存过程的语法很难记,除非你经常跟储存过程打交道,原因很简单,语法不是什么小笑话。如果你通过命令行控制 MySQL,你需要记住准确的语法。一个快速示例可以很好的帮助你做到这点。在MySQL 入门...