Oracle中的存储过程(Stored Procedure)

一.存储过程的定义

存储过程(Stored Procedure)是在大型数据库系统中,一组为了完成特定功能的SQL 语句集,存储在数据库中,经过第一次编译后再次调用不需要再次编译,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。存储过程是数据库中的一个重要对象。

二.基本语法

创建存储过程

create procedure sp_name

@[参数名] [类型],@[参数名] [类型]

as

begin

.........

end

以上格式还可以简写成:

create proc sp_name

@[参数名] [类型],@[参数名] [类型]

as

begin

.........

end

/*注:“sp_name”为需要创建的存储过程的名字,该名字不可以以阿拉伯数字开头*/

调用存储过程

1.基本语法:

exec sp_name [参数名]

删除存储过程

1.基本语法:

drop procedure sp_name

2.注意事项:

不能在一个存储过程中删除另一个存储过程,只能调用另一个存储过程

原文地址:https://www.cnblogs.com/zzy-123/p/8404287.html

时间: 2024-11-05 19:40:13

Oracle中的存储过程(Stored Procedure)的相关文章

用sql语句导出oracle中的存储过程和函数

用sql语句导出oracle中的存储过程和函数: SET echo off ; SET heading off ; SET feedback off ; SPOOL 'C:/PRC.SQL' replace SELECT CASE WHEN LINE = 1 THEN 'CREATE OR REPLACE ' || TEXT WHEN LINE = MAX_LINE THEN TEXT || CHR(10 ) || '/' ELSE TEXT END FROM USER_SOURCE A LEF

Oracle中的存储过程

 pl/sql编程语言是Oracle中操作数据库最快的语言,而存储过程本质就是pl/sql,所以通过存储过程来对数据库进行CRUD是最有效的. 不再使用JDBC来进行CRUD操作,因为使用JDBC来进行CRUD操作效率低. 所以,Java通过调用存储过程,来间接调用pl/sql,达到对数据库的CRUD操作. 我们可以把CRUD操作封装到存储过程中,在程序中,调用存储过程即可. 以下是例子:来自于Oracle讲师赵强 --打印Hello World /* 调用存储过程 1. exec sayH

Oracle中的存储过程简单例子

---创建表 create table TESTTABLE ( id1  VARCHAR2(12), name VARCHAR2(32) ) select t.id1,t.name from TESTTABLE t insert into TESTTABLE (ID1, NAME) values ('1', 'zhangsan'); insert into TESTTABLE (ID1, NAME) values ('2', 'lisi'); insert into TESTTABLE (ID1

如何在SQL Server查询语句(Select)中检索存储过程(Store Procedure)的结果集?

如何在SQL Server查询语句(Select)中检索存储过程(Store Procedure)的结果集?(2006-12-14 09:25:36) 与这个问题具有相同性质的其他描述还包括:如何在SQL Server存储过程中获取另一存储过程的执行结果记录集?如何在存储过程中检索动态SQL语句的执行结果?如何实现类似SELECT * FROM (EXEC procedure_name @parameters_var) AS datasource ... 的功能?procedure_

SQL Server中存储过程Stored Procedure创建及C#调用

存储过程就是已经编译好的.优化过的放在数据库服务器中的一些SQL语句:可供应用程序直接调用.使用存储过程有以下几个优点: 1.执行速度比普通的SQL语句快 2.便于集中控制 3.可以降低网络的通信量 4.保证数据库的安全性和完整性 5.灵活性 创建存储过程 可以采用Transact-SQL语句来创建存储过程Stored Procedured.在Microsoft SQL Server Management Studio中Databases->Database Name->Programmabi

oracle中写存储过程2

存储过程中调用存储过程 create or replace package body PF_Role_Pack is procedure sp_GetPage_Role(pageSize_ in number, --每页大小 pageIndex_ in number, --数据页数,从1开始 RoleNname_ nvarchar2, IsSys_ char, IsUsed_ char, numCount_ out number, --总记录数 MYRECORD_ out MYRECORDTYP

Mybatis调用Oracle中的存储过程和function

一.Mybatis调用存储过程 1 在数据库中创建以下的存储过程create or replace procedure pro_hello(p_user_name in varchar2,p_result out varchar2) isbegin  p_result := 'hello,' || p_user_name;end; 2 编写SQL映射文件mapper.xmlstatementType里的CALLABLE是标注此sql为存储过程.parameterType是标注要传的参数,看了一些

Java 调用Oracle中的存储过程

--建表 SQL> create table TBook(bookId number(8),bookName varchar2(50),publishHouse varchar2(50)); --编写过程 --in:输入参数:out:输出参数 SQL> create or replace procedure sp_pro7(spBookId in number,spName in Varchar2,spPublishHost in varchar2) is begin insert into

oracle中的function 、procedure、packages、package bodies比较

1  function和procedure的区别 1).可以理解函数是存储过程的一种 2).函数可以没有参数,但是一定需要一个返回值,存储过程可以没有参数,不需要返回值 3).函数return返回值没有返回参数模式,存储过程通过out参数返回值, 如果需要返回多个参数则建议使用存储过程 4).在sql数据操纵语句中只能调用函数而不能调用存储过程, 5).function必须有返回值,并且只能有一个返回值; 6).procedur不叫返回值,叫带出,可以带出多个值; 7).packages.pac