`

一个存储过程

Go 
阅读更多
/*设计一个存储过程,输入年度和雇员号两个参数,得到该雇员、指定年度的订*/
/*单总数量(返回参数)以及订单的详细内容(记录集)*/
/*********** 第一步、创建存储过程 ***********/
Create Procedure EmployeeSalesByYear
@Year int,
@EmployeeID int,
@SalesCount int output   --输出参数,后面有output关键字
As
Begin
   --查询指定雇员指定年度的订单数量,返回的是一个整数值,同时将该值赋给@SalesCount
Select @SalesCount=count(*) From Orders
Where EmployeeId=@EmployeeID and Year(OrderDate)=@Year

   --查询指定雇员指定年度的订单明细,返回的是一个结果集
Select Orders.*,ProductID,UnitPrice,Quantity,Discount
From Orders,[Order Details]
Where Orders.OrderID=[Order Details].OrderID
    and EmployeeId=@EmployeeID and Year(OrderDate)=@Year
End
Go

/*********** 第二步、执行存储过程 ***********/
--定义一个变量,存储返回的订单数量
declare @ThisSalesCount int

--执行存储过程,等到记录集和返回值
exec EmployeeSalesByYear 1997,2,@SalesCount= @ThisSalesCount Output

--将返回值输出到屏幕上,看看结果是否正确(选择查询窗口左下角的“消息”标签)
print cast(@ThisSalesCount as varchar(12))

分享到:
评论

相关推荐

    Postgresql存储过程.docx

    其中,`CREATE OR REPLACE FUNCTION` 用于创建或替换一个存储过程;`过程名` 是存储过程的名称;`参数名` 和 `参数类型` 是存储过程的参数列表;`RETURNS` 用于指定存储过程的返回值类型;`AS` 和 `$body$` 用于标记...

    sql分页存储过程(无论那个表,表中有多少字段都可以用这一个存储过程)

    标题“sql分页存储过程(无论那个表,表中有多少字段都可以用这一个存储过程)”明确指出这是一个适用于任何表结构的分页查询存储过程,无论表中有多少个字段,均能通过此存储过程进行高效的数据分页操作。...

    oracle 定时任务,使用存储过程更新数据

    为了实现定时更新数据,我们需要编写一个存储过程,该过程包含必要的SQL更新语句。例如,以下是一个简单的示例: ```sql CREATE OR REPLACE PROCEDURE update_data AS BEGIN UPDATE your_table SET column = new_...

    存储过程和函数

    下面是一个示例,展示了如何在一个存储过程中使用自主事务来插入数据并回滚: ```sql CREATE TABLE AAA ( PAYNUMBER NUMBER ); CREATE OR REPLACE PROCEDURE P2 AS BEGIN -- 指定为自主事务 PRAGMA AUTONOMOUS_...

    分享:在存储过程中使用另一个存储过程返回的查询结果集的方法

    在某些场景下,我们可能需要在一个存储过程中调用另一个存储过程,并使用其返回的结果集。本文将深入探讨如何在存储过程中使用另一个存储过程返回的查询结果集。 首先,假设我们有一个名为`sp_GetBorrowRecord`的...

    db2 存储过程语法与实例

    例如,我们可以创建一个简单的存储过程,接受一个整数参数并返回它的平方: ```sql CREATE PROCEDURE square(IN num INT, OUT result INT) BEGIN SET result = num * num; END; ``` 3. **调用存储过程** ...

    mysql存储过程教程

    MySQL存储过程是数据库管理系统中的一种重要功能,它允许开发者预编译一系列SQL语句并封装成一个可重复使用的单元,从而提高数据处理的效率和代码的复用性。本教程将深入探讨MySQL存储过程的创建、调用以及相关概念...

    DW 关联存储过程读取和更新表

    读取操作可能涉及一个简单的SELECT语句,通过存储过程返回数据,然后在DataWindow中展示。更新操作则可能包括一个UPDATE语句,结合WHERE子句来定位特定行,然后更改该字段的值。 例如,一个简单的读取存储过程可能...

    SQL Server中存储过程比直接运行SQL语句慢的原因

    此外,存储过程可以设置参数,可以根据传入参数的不同重复使用同一个存储过程,从而高效的提高代码的优化率和可读性。最后,存储过程的安全性高,可以设定只有某些用户才具有对指定存储过程的使用权。 存储过程有三...

    存储过程初学实例

    存储过程支持参数输入输出、返回单个或多个结果集以及返回值,甚至可以在一个存储过程中嵌套调用其他存储过程。 在SQL Server中,根据定义主体的不同,存储过程主要分为三类: 1. **系统存储过程**:这些是SQL ...

    MySQL存储过程学习

    MySQL存储过程是数据库管理系统中的一种重要功能,它允许开发者预编译一系列的SQL语句,形成一个可重复使用的代码块,以提高数据处理的效率和应用程序的性能。在这个"MySQL存储过程学习"的主题中,我们将深入探讨...

    实验9 存储过程的创建和使用

    存储过程是一组预先编写的SQL语句,它允许用户像调用函数一样重复执行,提高了数据库操作的效率和安全性。 首先,理解存储过程的分类至关重要。存储过程分为系统存储过程、用户自定义存储过程和扩展存储过程。系统...

    实验六:创建存储过程和触发器1

    实验报告中,你需要详细记录每个存储过程的创建SQL语句,以及执行存储过程后的结果截图。此外,实验报告应包括实验设计思路、遇到的技术问题及解决方法、实验过程的详细描述,以及个人的分析、建议和体会。 确保...

    ASP与sql存储过程

    MyComm.CommandType = 4 ' 表明这是一个存储过程 MyComm.Prepared = True ' 要求将SQL命令先行编译 Set MyRst = MyComm.Execute Set MyComm = Nothing ``` - **通过Connection对象调用**: ```vb DIM MyConn...

    C#如何写删除图书存储过程

    在本例中,我们关注的是如何在C#中调用一个存储过程来实现图书的删除操作。下面将详细介绍如何创建、执行和管理这样的存储过程,以及如何在C#中调用它。 1. 创建存储过程: 在SQL Server中,我们可以使用`CREATE ...

    MySQL存储过程综述及如何使用Navicat创建存储过程

      在大型项目中,有时候需要重复执行能够完成特定功能的SQL语句集,而MySQL为我们提供了存储过程的概念,存储过程是数据库中的一个重要对象,它是存储在数据库中的一组完成特定功能的SQL语句集。它第一次编译后,...

    db2 存储过程实例

    4. 多语句事务型存储过程:在一个存储过程中执行多个语句,保证事务的原子性。 六、存储过程的调试与优化 DB2提供了一些工具和特性来帮助调试和优化存储过程,如SQL诊断包、EXPLAIN计划等,以确保其高效运行。 七...

    银行转帐存储过程

    在这个场景中,我们关注的是一个名为"银行转账存储过程"的特定应用,它是针对银行转账业务逻辑的实现。这个存储过程主要用于模拟银行账户之间的转账操作,并包含了登录验证、转账处理以及事务管理等关键功能。 首先...

    Oracle定时执行存储过程

    oracle 是一个功能强大的关系型数据库管理系统,可以执行各种复杂的任务,其中包括定时执行存储过程。定时执行存储过程可以让 oracle 自动执行某些操作,而不需要人工干预。下面我们将详细讲解 oracle 中的定时执行...

Global site tag (gtag.js) - Google Analytics