存储过程有三种返回:
1. 用return返回int型数据
2. 用返回参数返回结果,可以返回各种数据类型(通过游标来循环查询结果每一行)
3. 直接在存储过程中用select返回结果集,可以是任意的select语句,这意味着是任意的返回结果集

例子:1

use tempdb;

create procedure test1
as
begin
if 1=1
return 1
else
return 2
end declare @index int
exec @index= test1
select @index drop procedure test1

如下图,得到返回值 1

例子:2

use tempdb;

create procedure test1
(@paramater varchar(20) output)
as
begin
if 1=1
set @paramater=''
else
set @paramater=''
end declare @index varchar(10)
exec test1 @index output
select @index as [index] drop procedure test1

例子:3

 use tempdb;

 create procedure test1

 as
begin
declare @paramater varchar(21)
set @paramater=''
select @paramater
end exec test1 /*declare @index varchar(10)
exec @index=test1
select @index as [index]*/ drop procedure test1

以上是3种调用的返回方式。

如果我在数据库,使用"执行存储过程"的方式执行存储过程,我们会活动另外一种结果。

为什么一个存储过会有两个结果呢。

我猜测用系统的存储过程可能会有2个值,1、结果集;2、return value.

带着猜测,修改了存储过程,然后得到了下图的答案。

带着解决问题的后愉悦的心情,再说一个小问题。

return只能返回整数,就算varchar的参数,也会改成整数

存储过程 返回值 procedure return values的更多相关文章

  1. (转载)SQLServer存储过程返回值总结

    1. 存储过程没有返回值的情况(即存储过程语句中没有return之类的语句) 用方法 int count = ExecuteNonQuery(..)执行存储过程其返回值只有两种情况 (1)假如通过查询 ...

  2. SQLServer存储过程返回值总结

    1.  存储过程没有返回值的情况(即存储过程语句中没有return之类的语句)  用方法 int count = ExecuteNonQuery(..)执行存储过程其返回值只有两种情况  (1)假如通 ...

  3. C#获取存储过程返回值和输出参数值的方法

    //转自网络,先留个底 1.获取Return返回值 //存储过程 //Create PROCEDURE MYSQL // @a int, // @b int //AS // return @a + @ ...

  4. C# 获取 存储过程 返回值

    C#获取存储过程的返回值,这一方法,总是容易忘,今天给贴出来,以方便下次使用 存储过程: CREATE  PROCEDURE [dbo].[Proc_GetInfo]     ),     ) out ...

  5. ASP.NET调用存储过程并接收存储过程返回值

    ASP.NET调用存储过程并接收存储过程返回值 2010-08-02 11:26:17|  分类: C#|字号 订阅       2010年02月27日 星期六 23:52 假设表结构Create T ...

  6. SQL存储过程返回值

    1 SQL存储过程返回值有3种 1.1 直接return返回(例如 return 1): 1.2 通过参数output返回(例如字符串类型): 1.3 直接返回程序集(Dataset程序集). 2 用 ...

  7. 再论c#获取存储过程返回值(包括SqlSugar)

    其实这个问题好多年以前研究过: https://blog.csdn.net/xpnew/article/details/6909902 最近因为需要统计日结月结,给同事写了一套调用存储过程的代码.同时 ...

  8. javascript 函数返回值(return)、定时器(setTimeout、setInterval)

    一.函数的返回值:return 1.函数名+括号=return后面的值 <script> function fn1(){ return 100; } alert(fn1()); // 10 ...

  9. 整理sqlserver 级联更新和删除 c#调用存储过程返回值

    整理一下级联更新和删除 c#调用返回值 use master go IF exists(select 1 from sysdatabases where name='temp') BEGIN DROP ...

随机推荐

  1. ACM 离散化处理

    使用STL算法离散化: 思路:先排序,再删除重复元素,然后就是索引元素离散化后对应的值. 1.  unique():   头文件为algorithm unique的作用是“去掉”容器中相邻元素的重复元 ...

  2. 使用Tensorflow object detection API——环境搭建与测试

    [软件环境搭建] 操作系统:windows 10 64位 内存:8G CPU:I7-6700 Tensorflow: 1.4 Python:3.5 Anaconda3 (64-bit) 以上环境搭建请 ...

  3. opencv第一课,安装配置

    下载工具:本教程以OpenCV3.2.0为例. 解压:本教程解压到D盘,解压的其它地方也是可以的,解压完后得到一个名为opencv目录. 配置系统变量:选择此电脑(计算机)->右键属性选择-&g ...

  4. php小试牛刀

    [构造函数] function __construct() [析构函数] 当某个对象的所有引用被删除,或者对象被显式的销毁时会执行析构函数 function __destruct() [静态方法] p ...

  5. java中\r ,\n,\t等的含义

    \t 相当于tab,缩进,制表符\n NewLine 换行 \f 换页符 \r 回车 \" 转义 “\\ 转义 \

  6. css3文本域焦点烟花效果

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  7. C语言中一些术语的梳理_持续更新

    关键字.标识符.宏.预定义.预处理.编译.替换.预处理指令. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 标识符: ...

  8. windows开机启动软件设置

    开机启动软件设置 操作步骤如下: 1.按win+r,输入 C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup,点击确定: 2.拖动 ...

  9. Python学习笔记_零碎知识

    1. 变量本身类型不固定的语言称之为动态语言,与之对应的是静态语言.静态语言在定义变量时必须指定变量类型,如果赋值的时候类型不匹配,就会报错. 2. Python有两种除法: /除法计算结果是浮点数, ...

  10. forEach与map

    一.原生js forEach()和map()遍历 共同点: 1.都是循环遍历数组中的每一项. 2.forEach() 和 map() 里面每一次执行匿名函数都支持3个参数:数组中的当前项item,当前 ...