加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

SQLServer 中存储过程返回的三种方式( 包括存储过程的创建, 在存

发布时间:2020-12-12 16:08:14 所属栏目:MsSql教程 来源:网络整理
导读:存储过程有三种返回 : ??? 1.??? 用 return 返回数字型数据 ??? 2.??? 用返回参数返回结果 , 可以返回各种数据类型 ( 通过游标来循环查询结果每一行 ) ??? 3.??? 直接在存储过程中用 select 返回结果集 可以是任意的 select 语句 这意味着是任意的返回结果集

存储过程有三种返回:???

1.???return返回数字型数据???

2.???用返回参数返回结果,可以返回各种数据类型(通过游标来循环查询结果每一行)???

3.???直接在存储过程中用select返回结果集可以是任意的select语句这意味着是任意的返回结果集

?

方法一:用return返回数字型数据?

1.?创建存储过程

--SQLSERVER?2005示例数据库

USE?AdventureWorks

GO

CREATE?PROCEDURE?checkstate?

@param?VARCHAR(11)

AS

IF?(

???????SELECT?StateProvince

???????FROM???Person.vAdditionalContactInfo

???????WHERE??ContactID?=?@param

???)?=?'WA'

????RETURN?1

ELSE

????RETURN?2;

GO

2.?在存储过程中调用

DECLARE?@return_status?INTEXEC?@return_status?checkstate?'9';??--将存储过程返回值赋给@return_status

SELECT?'Return?Status'?@return_statusGO

3.?VS中调用

?List<DbParameter>?para?=?new?DbParameter>();

????????para.Add(SqlParameter("@param",?9));

????????SqlParameter?pa?=?SqlParameter();

????????pa.ParameterName?=?"@return";

????????SqlDbType?=?SqlDbType.Int;

????????Direction?=?ParameterDirection.ReturnValue;

????????Add(pa);

????????int?i?=?DBHelper.ExecuteSql("checkstate",?CommandType.StoredProcedure,?para);

????????Response.Write(para[1].Value.ToString());

?

?

方法二:用返回参数返回结果,可以返回各种数据类型(通过游标来循环查询结果每一行)???

1.?创建存储过程

OutPutValue?

),

@param2?)?OUTPUT

'WA'

???SET?@param2='Good'

ELSE

???'Bad'

@param1?NVARCHAR(100@param1'9'

OutPutValue@param2

3.?VS中调用

?????"9"));

????????Output;

????????"@param2";

????????Size?=?11;

????????"OutPutValue?",1)">para);

????????//OutPut返回值

????????ToString());??//输出返回值

?

?

方法三:直接在存储过程中用select返回结果集,可以是任意的select语句,这意味着是任意的返回结果集??

1.?创建存储过程

ReturnDataTable

BEGIN

SELECT?*?FROM?vAdditionalContactInfo

END?

ReturnDataTable

3.?VS中调用

//存储过程返回结果集可存放在DataTable

?DataTable?dt?=?GetDataTable("ReturnDataTable",1)">StoredProcedure);?

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读