存储过程
存储过程是在大型数据库系统中,一组为了完成特定功能的SQL 语句集,经编译后存储在数据库中,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。
创建存储过程
Create procedure procedue_name
[@parameter data_type][output]
[with]{recompile|encryption}
as
sql_statement
解释:
output:表示此参数是可传回的
with {recompile|encryption}
recompile:表示每次执行此存储过程时都重新编译一次
encryption:所创建的存储过程的内容会被加密
SQL存储过程学习例子:存储过程的创建
表book的内容如下
编号 书名 价格
001 C语言入门 $30
002 PowerBuilder报表开发 $52
实例1:查询表Book的内容的存储过程
create proc query_book
as
select * from book
go
exec query_book
实例2:加入一笔记录到表book,并查询此表中所有书籍的总金额
Create proc insert_book
@param1 char(10),@param2 varchar(20),@param3 money,@param4 money output
with encryption ---------加密
as
insert book(编号,书名,价格) Values(@param1,@param2,@param3)
select @param4=sum(价格) from book
go
执行例子:
declare @total_price money
exec insert_book '003','Delphi 控件开发指南',$100,@total_price
print '总金额为'+convert(varchar,@total_price)
go
存储过程的3种传回值:
1.以Return传回整数
2.以output格式传回参数
3.Recordset
传回值的区别:
output和return都可在批次程式中用变量接收,而recordset则传回到执行批次的客户端中
分享到:
相关推荐
数据库存储过程和触发器的建立与使用 在数据库管理系统中,存储过程和触发器是两个重要的概念,它们可以帮助我们更好地管理和维护数据库。在本节中,我们将详细介绍存储过程和触发器的概念、作用、创建和使用方法。...
根据提供的文件内容,本篇实验报告主要围绕MySQL数据库中存储过程和函数的应用,涵盖了创建存储过程、函数、游标以及异常处理等高级特性。下面将详细解析报告中的每个知识点。 1. 创建存储过程 存储过程是一种在...
SQL Server支持五种类型的存储过程: 1. **系统存储过程** - 由系统提供的,通常用于管理数据库,如备份、恢复等,以`sp_`开头。 2. **本地存储过程** - 用户在特定数据库中创建,执行特定数据库操作。 3. **临时...
### 五、存储过程的管理和维护 - **修改存储过程**:使用 `ALTER PROCEDURE` 语句。 - **查看存储过程**:使用 `sp_helptext` 或 `SHOW CREATE PROCEDURE`(在MySQL中)。 - **删除存储过程**:使用 `DROP ...
五、存储过程的优缺点 优点: - 提高性能:预编译的SQL语句可以减少解析时间。 - 代码复用:存储过程可以多次调用,减少重复编写SQL。 - 安全性:可以通过权限控制限制对数据库的直接访问。 - 减少网络流量:存储...
本题主要涉及了几个关键的数据库操作,包括统计分析、存储过程的编写与执行,以及数据转换。 首先,针对(1)统计离散数学成绩分布的问题,创建了一个名为SCC的表来存储各分数段的人数。通过插入语句初始化了表结构...
根据提供的文档标题、描述、标签以及部分内容,我们可以总结出以下关于存储过程的创建与使用的相关知识点。 ### 一、存储过程的基本概念 存储过程是一种在数据库中存储并编译好的SQL程序,它能够接受输入参数,...
### 存储过程的优点 #### 一、提升执行效率 1. **编译优势**:存储过程在创建时仅编译一次,之后每次执行时都无需再次编译。相比之下,一般的SQL语句每次执行都需要重新编译。这种差异使得存储过程能够显著提高...
"实验八 存储过程的使用(学生)" 本实验的目的是让学生掌握创建存储过程的基本方法,并学会使用 Transact-SQL 编写存储过程的方法。实验中,学生需要创建多个存储过程来完成不同的数据库操作,例如检索学生基本...
#### 五、调用带输出参数的存储过程 同样,我们可以通过Java代码来调用这个带有输出参数的存储过程: ```java package com.hyq.src; public class TestProcedureTWO { public TestProcedureTWO() {} public ...
#### 五、使用存储过程 1. **执行存储过程**:选中需要执行的存储过程,点击右键选择“测试”或“运行”选项。 2. **处理多个存储过程**:若需要执行多个存储过程,可以在同一个会话中依次执行。 3. **处理权限问题...
### ABAP调用HANA存储过程详解 #### 标题:ABAP调用HANA存储过程 #### 描述:本文档介绍了如何在ABAP程序中调用SAP HANA存储过程的方法。 #### 标签:ABAP、HANA #### 部分内容概述:本文档通过一个逐步教程的...
五、存储过程的应用场景 1. 数据库维护:例如定期备份、清理过期数据等操作。 2. 复杂查询:处理多表联接、聚合函数等复杂逻辑。 3. 事务管理:在存储过程中可以进行事务控制,确保数据的一致性。 4. 数据验证:在...
五、存储过程的返回值 使用`RETURN`语句,可以为存储过程定义一个返回值。不过,这不同于OUT参数,返回值只能有一个,且不能有其他输出参数。 六、异常处理 在存储过程中,可以使用`BEGIN...EXCEPTION...END`块来...
### Oracle存储过程开发基本规范详解 #### 一、概述 Oracle存储过程作为一种强大的数据库编程工具,在企业级应用中被广泛采用。为了确保存储过程的质量、可读性和可维护性,制定一套合理的编码规范至关重要。本文将...
#### 五、DB2存储过程的最佳实践 - **命名规范**:采用清晰、有意义的名称来命名存储过程,以便于理解和维护。 - **注释**:为复杂逻辑添加必要的注释,提高代码的可读性。 - **避免使用全局变量**:尽量使用局部...
五、C#与存储过程的进阶用法 1. 返回值:存储过程可以有返回值,表示执行结果,C#中通过`command.ExecuteNonQuery().ToString()`获取。 2. 输出参数:存储过程内部修改的参数值可以在调用后获取,C#中使用`Sql...
五、存储过程的管理 除了创建,我们还需要对存储过程进行其他管理,例如查看、修改、删除: 1. 查看存储过程: ```sql SHOW PROCEDURE STATUS; -- MySQL SELECT * FROM sys.procedures; -- SQL Server SELECT * ...
Oracle 定时执行存储过程 Oracle 定时执行存储过程是一种高效的方式来执行存储过程,通过使用 Oracle 提供的 job 机制来实现。Job 机制允许开发者创建、计划和执行存储过程,实现自动化和批量处理。 Broken() ...