存储过程包括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上,何时何地都能找到我的范例了。...
存储过程是一种预编译的SQL代码块,它被存储在数据库中,并且可以通过简单的调用来执行复杂的逻辑操作。存储过程可以提高应用程序的性能,减少网络流量,增强数据完整性,并简化应用程序开发。 #### 创建存储过程 ...
### PL/SQL程序设计——存储过程、函数与触发器 #### 概述 PL/SQL是一种专门为Oracle数据库设计的过程化语言,它结合了SQL的数据操纵功能和传统编程语言的流程控制功能,使得开发者能够在数据库环境中编写更为复杂...
编写存储过程和函数通常涉及SQL语法,例如在MySQL中,我们可以这样创建一个简单的存储过程: ```sql CREATE PROCEDURE `myProcedure`(IN param1 INT, OUT param2 VARCHAR(50)) BEGIN SELECT 'Hello, ' AS `msg`, ...
存储过程,oracle写得简单存储过程函数,java环境
Oracle 存储过程函数和程序包 Oracle 存储过程函数和程序包是 Oracle 数据库中的一种核心组件,用于实现复杂的业务逻辑和数据处理。以下是 Oracle 存储过程函数和程序包的知识点总结: 一、游标的概念和类型 游标...
例如,创建一个简单的存储过程来计算员工的总薪水,可以这样编写: ```sql CREATE PROCEDURE calculate_total_salary(IN emp_id INT) BEGIN DECLARE total DECIMAL(10,2); SELECT SUM(salary) INTO total FROM ...
### Oracle存储过程、游标、函数的详解 #### 一、概述 在Oracle数据库中,存储过程、游标和函数是非常重要的组成部分,它们为数据库管理提供了强大的编程能力。通过学习这些概念,我们可以更加灵活地管理和操作...
创建一个简单的存储过程如下: ```sql CREATE OR REPLACE PROCEDURE my_procedure (p_no NUMBER) IS BEGIN -- 执行语句 END; ``` 其中`CREATE OR REPLACE`表示如果已经存在同名的存储过程,则替换掉原有的存储...
### Oracle 存储过程和函数操作详解 #### 一、PL/SQL简介 PL/SQL (Procedural Language for SQL) 是一种专为 Oracle 数据库设计的过程化语言,它允许开发者编写可重用的数据库程序代码。PL/SQL 结合了 SQL 的数据...
在数据库管理中,存储过程(Stored Procedures)和函数以及触发器是重要的数据库编程元素,它们在数据管理和业务逻辑实现上发挥着关键作用。本篇将深入探讨这些概念及其应用。 **存储过程** 存储过程是一组预编译的...
在上述内容中,展示了如何创建一个简单的空存储过程`test_proce`,它没有实际的操作,仅仅是为了演示创建过程的基本语法。接着,创建了一个`time_proce`存储过程,它能在控制台上打印当前系统时间,这通过`DBMS_...
在数据库系统中,存储过程、函数和触发器是三个核心概念,它们对于数据管理与业务逻辑的实现至关重要。本文将详细解析这些知识点,并通过提供的压缩包文件中的示例进行讲解。 1. 存储过程(Stored Procedures): ...
【MySQL存储过程与函数简介】 MySQL的存储过程和函数是数据库管理中强大的工具,它们允许开发者将一组SQL语句组织在一起,形成一个可重用的模块,以执行复杂的业务逻辑。这种概念类似于高级编程语言(如Java)中的...
PLSQL Developer中存储过程、存储函数和触发器的编写和管理 PLSQL Developer是一种功能强大的Oracle数据库开发工具,提供了许多功能来帮助开发者快速编写和管理存储过程、存储函数和触发器等高级数据库对象。本文将...
例如,以下是一个简单的存储过程示例,它接受一个参数,然后根据该参数查询表中的数据: ```sql CREATE PROCEDURE GetEmployeeByDepartment(@departmentID int) AS BEGIN SELECT * FROM Employees WHERE ...
Java存储过程和函数是数据库操作中的重要组成部分,它们在Java应用程序与数据库交互时起到关键作用。存储过程是在数据库中预编译的SQL语句集合,而函数则返回一个值。这两种技术都允许开发者封装复杂的逻辑,提高...
【存储过程和存储函数1】知识点详解 存储过程和存储函数是数据库管理中的重要概念,它们允许开发者将一系列SQL语句组合成一个可重用的模块。这些模块化操作不仅提高了代码的复用性,还能优化数据库性能,减少客户端...
存储过程和函数能够将复杂的 SQL 逻辑封装在一起,应用程序无须关心存储过程和函数内部复杂的 SQL 逻辑,而只需要简单地调用存储过程和函数即可。 什么是存储过程? 存储过程是指预先编译的一组 SQL 语句集,将其...
- 示例:创建一个简单的无参存储过程 `hello`。 ```sql CREATE OR REPLACE PROCEDURE hello AS BEGIN DBMS_OUTPUT.PUT_LINE('这是我第一个存储过程,慌不慌!'); END; / ``` 4. **删除存储过程**: - ...