`
dadaozei
  • 浏览: 13413 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

SQL 存储过程的几种返回值方法

阅读更多

1.OUPUT参数返回值
例: 向Order表插入一条记录,返回其标识

CREATE   PROCEDURE   [ dbo ] . [ nb_order_insert ] (
@o_buyerid   int
 ,
@o_id   bigint
 OUTPUT
)
AS

BEGIN
SET  NOCOUNT  ON ;
BEGIN

INSERT   INTO   [ Order ] (o_buyerid )
VALUES  ( @o_buyerid
 )
SET   @o_id   =   @@IDENTITY

END
END

存储过程中获得方法:

DECLARE   @o_buyerid   int
DECLARE   @o_id   bigint
EXEC   [ nb_order_insert ]   @o_buyerid  ,o_id  bigint

2.RETURN过程返回值

CREATE   PROCEDURE   [ dbo ] . [ nb_order_insert ] (
@o_buyerid   int
 ,
@o_id   bigint
 OUTPUT
)
AS

BEGIN
SET  NOCOUNT  ON ;
IF ( EXISTS ( SELECT   *   FROM   [ Shop ]   WHERE   [ s_id ]   =   @o_shopid
))
BEGIN

INSERT   INTO   [ Order ] (o_buyerid )
VALUES  ( @o_buyerid
 )
SET   @o_id   =   @@IDENTITY

RETURN   1  — 插入成功返回1
END

ELSE
RETURN   0  — 插入失败返回0
END

存储过程中的获取方法
DECLARE   @o_buyerid   int
DECLARE   @o_id   bigint
DECLARE   @result   bit
EXEC   @result   =   [ nb_order_insert ]   @o_buyerid  ,o_id  bigint  

3.SELECT 数据集返回值

CREATE   PROCEDURE   [ dbo ] . [ nb_order_select ] (
@o_id   int

)
AS
BEGIN
SET  NOCOUNT  ON ;
SELECT  o_id,o_buyerid  FROM   [ Order ]

WHERE  o_id  =   @o_id
GO

存储过程中的获取方法
(1)、使用临时表的方法

CREATE   TABLE   [ dbo ] . [ Temp ] (
[ o_id ]   [ bigint ]   IDENTITY ( 1 , 1 NOT   FOR   REPLICATION   NOT   NULL ,
[ o_buyerid ]   [ int ]   NOT   NULL
)
INSERT   [ Temp ]   EXEC   [ nb_order_select ]   @o_id
– 这时 
Temp  就是EXEC执行SELECT 后的结果集
SELECT   *   FROM   [ Temp ]
DROP   [ Temp ]  — 删除临时表

(2)、速度不怎么样.(不推荐)

SELECT   *   from   openrowset (’provider_name ' , ' Trusted_Connection = yes’, ' exec nb_order_select’)

分享到:
评论

相关推荐

    关于有返回值的存储过程

    在数据库管理中,存储过程(Stored Procedure)是一种预编译的SQL代码集合,它封装了特定的功能,并且可以在需要时通过调用执行。存储过程在IT领域中扮演着重要的角色,尤其是在大型企业级应用和数据处理中。标题...

    PHP调用MySQL存储过程并返回值的方法

    在数据库编程中,存储过程是一种存储在数据库管理系统中的程序,它包括一系列的SQL语句和可选的控制流语句。存储过程被设计用来完成特定的功能,可以接收输入参数、返回结果集和输出参数。PHP作为一种广泛使用的...

    sql Server 2005 存储过程视频

    在SQL Server 2005中,存储过程分为两种类型: 1. **系统存储过程**:由Microsoft提供,用于执行常见的数据库管理任务,如sp_help、sp_rename等。 2. **用户定义存储过程**:由数据库管理员或开发人员创建,根据...

    SQLServer存储过程在系统开发中的应用

    在 PowerBuilder 中调用 SQL Server 的存储过程主要涉及以下几个步骤: 1. **建立数据库连接**:首先需要配置与 SQL Server 数据库的连接。 2. **创建数据窗口对象**:通过数据窗口对象可以调用存储过程并处理返回...

    VB SQL存储过程实例

    Visual Basic(简称VB)作为一种广泛使用的编程语言,提供了强大的功能来处理数据库事务,其中就包括调用SQL存储过程的能力。本文将深入探讨一个具体的VB SQL存储过程实例,旨在为开发者提供实用的指导和示例。 ###...

    SQL.rar_SQL 存储过程

    在这个名为"SQL.rar"的压缩包中,重点是"SQL 存储过程",这表明它包含了一系列有关存储过程的SQL代码示例和实用技巧。存储过程是预编译的SQL语句集合,可以在数据库中作为一个独立单元执行,提供了更高的性能、安全...

    存储过程从入门到熟练(多个存储过程完整实例及调用方法)

    在数据库管理领域,存储过程是不可或缺的一部分,它是一种预编译的SQL语句集合,能够提高数据处理的效率,减少网络传输,同时还能提供安全性和模块化的编程方式。本资源"存储过程从入门到熟练(多个存储过程完整实例...

    SQL存储过程学习asp.net ,c#

    调用存储过程可通过以下几种方式: 1. 使用`EXEC`或`EXECUTE`关键字,后跟存储过程名称及参数。 2. 在ASP.NET或C#应用程序中,通过ADO.NET连接并执行存储过程,获取结果集或输出参数的值。 存储过程可以通过三种...

    sql数据库存储过程学习

    SQL数据库存储过程是一种预编译的SQL代码集合,它封装了一系列复杂的数据库操作,可以在需要时通过调用存储过程的名字来执行。存储过程的使用对于数据库性能优化、代码复用和安全性提升都有显著作用。 首先,了解...

    在Asp中调用存储过程的几种方法.doc

    本文将详细讲解在 ASP 中调用存储过程的三种方法。 1. **直接执行存储过程** 最简单的方法是直接通过 `Connection` 对象的 `Execute` 方法来调用存储过程。例如: ```vbscript set connection = server....

    一个项目的存储过程.sql

    在"一个项目的存储过程.sql"文件中,可能包括以下几种类型的存储过程: 1. **INSERT型**:用于插入新记录,通常用于批量数据导入或自动填充数据。 2. **UPDATE型**:用于更新现有记录,可能涉及到复杂的条件判断和...

    Linq to sql+存储过程

    总之,LINQ to SQL 提供了一种方便的方式来集成存储过程,使开发者能够利用 LINQ 查询语言的简洁性和强类型安全性来操作存储过程。通过 O/R 设计器,可以轻松地将存储过程映射到 C# 方法,从而简化数据库操作。

    调用存储过程另一种方法

    总结起来,调用存储过程在.NET中主要有以下几种方式: 1. 使用`SqlHelper`类的`ExecProcedure`方法。 2. 直接通过`SqlConnection`和`SqlCommand`对象,设置`CommandType`为`StoredProcedure`。 3. 在SQL语句中直接...

    sql 存储过程

    ### SQL存储过程基础知识点 #### 一、存储过程概述 存储过程是一种预编译的SQL代码块,存储在数据库服务器上。用户可以通过调用存储过程名称来执行其中包含的SQL命令。存储过程不仅可以提高应用程序的性能,还可以...

    支持存储过程和SQL语言的数据库操作类

    此外,方法还处理了添加返回值参数的过程,确保能够正确地获取存储过程的返回值。 ##### 参数化查询 通过`SqlParameter[]`类型的参数传递到`CreateProcDataAdapter`方法中,可以方便地进行参数化查询。这种方式...

    SQL Server存储过程研究.pdf

    SQL Server存储过程是数据库系统中的一个重要组成部分,它们是由一系列SQL语句和流程控制语句组成的。存储过程允许通过参数传递,进行条件判断,声明变量,以及返回信息,从而扩展了标准SQL语言的功能。它们可以看作...

    动态SQL 并且把返回的值赋给变量

    ### 动态SQL 并且把返回的值赋给变量 在SQL Server中,动态SQL是一种强大...总之,`sp_executesql`为执行动态SQL提供了一种安全、高效的方法。通过合理地设计和使用动态SQL,可以在保持代码灵活性的同时减少安全风险。

    SQL存储过程

    SQL存储过程是数据库管理系统中一组为了完成特定功能的SQL语句集合,经编译后存储在数据库中,用户可以通过指定存储过程的名字并给定参数(如果该存储过程带有参数)来调用执行它。在SQL Server中,存储过程是数据库...

    sqlserver 全库查找存储过程(数值型)

    总结来说,"sqlserver 全库查找存储过程(数值型)"这个任务涉及了以下几个关键知识点: - SQL Server的存储过程概念和用途 - 系统视图`sys.objects`和`sys.sql_modules` - 动态SQL的构建与执行 - 正则表达式或通配符...

    ASP编程技术-COMMAND对象的属性SQL的存储过程

    在深入探讨ASP编程技术中关于COMMAND对象的属性与SQL存储过程的应用之前,我们先来了解一下基本概念。ASP(Active Server Pages)是一种服务器端脚本环境,用于创建动态网页。而COMMAND对象是ADO(ActiveX Data ...

Global site tag (gtag.js) - Google Analytics