output输出标识
output标记一般用于存储过程中输出多个变量的过程或返回为非整数值。
案例1:根据班级和性别查询学员,同时返回总人数和指定性别的人数

if exists (select * from sysobjects where name = 'usp_getSInfoAndCount')
drop proc usp_getSInfoAndCount
go
create proc usp_getSInfoAndCount
@totalNum int output,--如果一个参数添加了output修饰,那么说明:它是一个输出参数。
--标明了output说明了你会向服务器请求返回这个参数的值。而服务器也知道标识了output的参数在以后需要返回
@claNum int output, --指定班级和性别的总人数
@className nvarchar(50),
@sex char(1) = '1'
as  declare @cid int = (select GradeId from grade where GradeName = @className)select * from student where GradeId = @cid and Gender = @sexset @totalNum = (select count(*) from student) --总学生人数,赋值给参数@totalNumset @claNum = (select count(*) from student where GradeId = @cid and gender = @sex)--返回班级和性别查询学员,并赋值给参数@claNum
go

-调用在输出参数的过程中
–服务器向你返回值,用户就需要创建对应的变量做接收
–标明了output说明了你会向服务器请求返回这个参数的值,而服务器也知道标识了output的参数在以后需要返回

declare @tNum int,@cNum int
exec usp_getSInfoAndCount @tNum output,@cNum output,'社会大学1' --调用存储过程也需要把output修饰带上
print @totalNum
print @claNum
print 'ok'

输出结果:
案例2:–返回指定学员名字

if exists(select * from sysobjects where name = 'usp_getNameByNo')
drop proc usp_getNameByNo
go
create proc usp_getNameByNo
@stuNo int
as
declare @name nvarchar(50)
set @name = (select StudentName from student where StudentNo = @stuNo)
return @name --存储过程中的ruturn只能返回整数值
go

调用存储过程:返回指定学员姓名
exec usp_getNameByNo 10001
显示结果
因为ruturn的返回结果只能是整型,而@name定义的为字符型,过字符转换报错,返回为非整型的存储过程建议使用output标识

SQL数据库的存错过程中output用法相关推荐

  1. 第六章SQL数据库开发--TSQL—储存过程

    第六章SQL数据库开发--TSQL-储存过程 6.1 TSQL-存储过程说明 存储过程 (Stored Procedure) 是在大型数据库系统中 , 一组为了完成特定功能的 SQL 语句集 , 存储 ...

  2. SQLServer 执行存错过程完成后却提示 不存在或者没有所需的权限

    今天遇到一个奇怪的问题: 新建一个存错过程,授予执行权限. USE [MyDB] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GOCREATE P ...

  3. SQL数据库挂起 SQL数据库附加报错 SQL数据库824错误修复

    SQL数据库挂起 SQL数据库附加报错 SQL数据库824错误修复 数据类型 MSSQL 2012 数据大小 4.5 GB 故障检测 附加数据库提示824错误 一般是由于断电非法关机导致页面损坏. 客 ...

  4. 关于SQL server 2000 在安装过程中遇到文件挂起的解决办法

    两种方法: 1.关于SQL server 2000 在安装过程中遇到文件挂起的解决办法: 在Ghost 版 windows xp 中安装 SQL server 2000 时经常会遇到安装程序运行到第二 ...

  5. 深圳坐标软件 SQL数据库 复制 报错 MS-DOS 功能无效 上读取失败 1(函数不正确) 恢复实践

    坐标软件 SQL数据库 复制 报错 MS-DOS 功能无效 上读取失败 1(函数不正确) 恢复实践 接到文件,立即组织进行分析工作,发现 select * from sysobjects  --系统表 ...

  6. 解决ORA-01400报错过程中遇到的问题

    报错信息:ORA-01400: cannot insert NULL into ("OWNER"."TABLE_NAME"."COLUMN_NAME& ...

  7. 解决在安装Symantec选择SQL 数据库“11501”报错

    问题: symantec(赛门铁克)安装时,不用内嵌数据库,用SQL,出现"错误 11501无法连接到数据库.如图所示: 解决思路: 1.排查防火墙是否关闭 2.主要排查SQL Server ...

  8. Microsoft SQL Server Desktop Engine安装过程中遇到的问题(2)

    今天下午没课,又在玩电脑了,想起昨天没解决的问题,心里有点不爽,遇到问题就要解决嘛^_^. 我把昨天装的study实例卸载了,仔细研究了一下自述文件,按照里面的说明,我在C盘根目录新建了一个名为 MS ...

  9. python调用sql数据库进存销_python多进程快速批量爬取黄页海量信息并保存文本和数据库教程...

    最近帮朋友做一些网络营销的工作,需要抓取一些客源信息,用以辅助营销,我感觉很多做电商的朋友,尤其是微商朋友们,应该都是比较需要各种客源信息的吧,今天,小编我就借此机会把利用python多进程的方式抓取 ...

  10. java org.jb2011报错_Java中getResourceAsStream()用法总结(转)

    Java中getResourceAsStream的用法 首先,Java中的getResourceAsStream有以下几种: 1. Class.getResourceAsStream(String p ...

最新文章

  1. Java知识点总结——装箱与拆箱
  2. Go 语言编程 — validator 数据校验工具
  3. mysql update多个字段 逗号 and 的错误例子
  4. 动手写 framebuffer 画点、划线程序 (七)
  5. python菜鸟教程h-Python for 循环语句
  6. mac下的apache项目发布出现403
  7. (函数/类模板)的(偏特化/全特化)
  8. 《看聊天记录都学不会C语言?太菜了吧》(15)你学了一节课的函数我5分钟搞定了,还很熟
  9. 使用Spring Security添加RememberMe身份验证
  10. java types.varchar_java statement.registerOutParameter(5, java.sql.Types.VARCHAR)返回值长度限制...
  11. ModelArts微认证零售客户分群知识点总结
  12. android 10闪退如何解决,安卓Activity启动在10.0下闪退
  13. 以一种访问权限不允许的方式做了一个访问套接字的尝试。
  14. cnc加工中心保养表_CNC加工中心常用指令以及保养项目
  15. 有屋(东莞)搬家啦~ Sketchup草图大师设计拆单 有屋拆单 全屋定制拆单 衣柜橱柜拆单
  16. 迅捷fw325r虚拟服务器设置,迅捷FAST FW325R路由器无线桥接设置方法
  17. 多商家点餐小程序源码
  18. 第十四届全国大学生信息安全竞赛部分wp
  19. matlab图片处理基本知识,Matlab图像处理基础知识
  20. 解决Gitlab的The remote end hung up unexpectedly错误

热门文章

  1. WebSocket实现简单多人聊天
  2. vbox 虚拟机支持ipv6
  3. 一见钟情只在瞬息之间,而对爱大彻大悟却需要很多年
  4. java日志:一、JUL使用
  5. ubuntu系统清理
  6. 人,要活得明白。活到极致,就是素与简。
  7. 使用kubeadm在CentOS上搭建Kubernetes1.14.3集群
  8. Java基础笔记day01
  9. DC影视作品及观看顺序
  10. CentOS 7.5 安装Nginx教程