位置: 编程技术 - 正文

sqlserver存储过程中SELECT 与 SET 对变量赋值的区别(sqlserver存储过程返回多个结果集)

编辑:rootadmin

推荐整理分享sqlserver存储过程中SELECT 与 SET 对变量赋值的区别(sqlserver存储过程返回多个结果集),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:sqlserver存储过程的创建和使用,sqlserver存储过程加密,sqlserver存储过程怎么查看,sqlserver存储过程声明变量,sqlserver存储过程语法,sqlserver存储过程在哪里,sqlserver存储过程if语句,sqlserver存储过程声明变量,内容如对您有帮助,希望把文章链接给更多的朋友!

sqlserver存储过程中SELECT 与 SET 对变量赋值的区别(sqlserver存储过程返回多个结果集)

SQL Server推荐使用 SET 而不是 SELECT 对变量进行赋值。当表达式返回一个值并对一个变量进行赋值时,推荐使用 SET 方法。下表列出 SET 与 SELECT 的区别。请特别注意红色部分。

setselect同时对多个变量同时赋值不支持支持表达式返回多个值时出错将返回的最后一个值赋给变量表达式未返回值变量被赋null值变量保持原值

下面以具体示例来说明问题:create table chinadba1(userid int ,addr varchar() )goinsert into chinadba1(userid,addr) values(1,'addr1')insert into chinadba1(userid,addr) values(2,'addr2')insert into chinadba1(userid,addr) values(3,'addr3')go表达式返回多个值时,使用 SET 赋值 declare @addr varchar()set @addr = (select addr from chinadba1)/*--出错信息为服务器: 消息 ,级别 ,状态 1,行 2子查询返回的值多于一个。当子查询跟随在 =、!=、<、<=、>、>= 之后,或子查询用作表达式时,这种情况是不允许的。*/go表达式返回多个值时,使用 SELECT 赋值 declare @addr varchar()select @addr = addr from chinadba1print @addr --结果集中最后一个 addr 列的值--结果: addr3 go表达式未返回值时,使用 SET 赋值 declare @addr varchar()set @addr = '初始值'set @addr = (select addr from chinadba1 where userid = 4 )print @addr --null值 go表达式未返回值时,使用 SELECT 赋值 declare @addr varchar()set @addr = '初始值'select @addr = addr from chinadba1 where userid = 4print @addr --保持原值go需要注意的是,SELECT 也可以将标量子查询的值赋给变量,如果标量子查询不返回值,则变量被置为 null 值。此时与 使用 SET 赋值是完全相同的对标量子查询的概念大家应该都觉得陌生,举个例子就能说明declare @addr varchar()set @addr = '初始值'--select addr from chinadba1 where userid = 4 为标量子查询语句select @addr = (select addr from chinadba1 where userid = 4) print @addr --null值go

sqlserver 高性能分页实现分析 先来说说实现方式:1、我们来假定Table中有一个已经建立了索引的主键字段ID(整数型),我们将按照这个字段来取数据进行分页。2、页的大小我们放

SQL里类似SPLIT的分割字符串函数 一,用临时表作为数组createfunctionf_split(@cvarchar(),@splitvarchar(2))returns@ttable(colvarchar())asbeginwhile(charindex(@split,@c)0)begininsert@t(col)values(substring(@c,1,charindex(@s

关于 SQL Server ErrorLog 错误日志说明 默认情况下,SQLServer保存7个ErrorLog文件,名为:ErrorLogErrorLog.1ErrorLog.2ErrorLog.3ErrorLog.4ErrorLog.5ErrorLog.6在APACSOS版本6.1中,ErrorLog文件保存在c:ProgramFilesMicro

标签: sqlserver存储过程返回多个结果集

本文链接地址:https://www.jiuchutong.com/biancheng/349225.html 转载请保留说明!

上一篇:sqlserver Case函数应用介绍(sql里case)

下一篇:sqlserver 高性能分页实现分析(sqlserver性能优化)

  • 城镇土地使用税的计算公式
  • 建筑公司包工包料账务处理
  • 出口退税是先交税后退税吗
  • 其他应收款财务报表取数
  • 专用发票不抵扣怎么做账
  • 境外投资子公司审计报告人民币汇率
  • 预收款结转收入怎么算
  • 应收账款让售账务处理
  • 库存商品毁损会导致什么
  • 增值税零税率发票预缴税额
  • 债权利息收入要交所得税吗
  • 以资抵债是利空还是利好
  • 增值税发票过期了税金怎么办
  • 盘亏设备一台
  • 公司汽车装潢和保养做什么会计科目
  • 可供出售金融资产和长期股权投资
  • 未收到增值税专用发票怎么处理
  • 简易征收的增值税可以在税前列支吗
  • 企业如何处理
  • 补去年的税款怎么做账
  • 个税公司承担怎么做账计入其他应收款怎么平账
  • 增值税为什么申报不了
  • 公司车辆怎么处理
  • 资本公积转增实收资本所有者权益会变吗
  • 未实现但已确认的风险代理费收入如何处理?
  • 食堂费用没有发票能挂账吗
  • 金蝶怎样取消结账
  • 本月无票收入到下月开具如何申报
  • 购买原材料无法确认收入
  • 成本的分类有哪些如何分类
  • 注册资金印花税税目
  • WordPress置顶文章的相关PHP函数小结
  • 教学用品列入什么费用
  • 销售房产营业税怎么算
  • 投资收益怎么做不影响利润
  • 所得税特殊性税率是多少
  • php socket_write
  • 成都划拨土地出让金计算
  • 无形资产处置收入计入
  • 长期借款汇兑收益怎么算
  • php扩展开发参考手册
  • php获取当前时间戳函数
  • 注销公司的处理方式
  • vue.js前端
  • gridview功能
  • php中定义函数
  • 材料合理损耗会计处理
  • 如何利用python进行文本挖掘
  • 补发工资个人所得税税
  • 大巴车怎么坐车
  • 一般纳税人接受捐赠的固定资产,捐赠方提供了有关凭证
  • 预收账款可以用吗
  • 投资性房地产租金
  • 检测费账务处理
  • 普通发票开具红字发票后发票联怎么处理?
  • 结转费用时财务费用为负
  • 咨询服务业成本比例
  • 母公司销售给控股子公司
  • 装修公司开劳务费怎么选择税控编码
  • 为什么设置辅警
  • 应付工资的计算公式用友
  • 酒店财务帐务处理方案
  • 安装mysql5.7虚拟机教程
  • win7系统桌面图标设置
  • win2008 无线网卡
  • switpa.exe - switpa是什么进程
  • 进程aissca.exe
  • linux usb audio
  • win7电脑ip地址怎么查
  • win8.1操作界面
  • linux系统怎么弄
  • .bat文件如何编写
  • 10个常用linux指令
  • nodejs10支持es6吗
  • 用shell脚本创建用户
  • jquery的核心函数
  • 国家税务局通用定额发票查询
  • 河南新农合缴费记录可以在哪里查?
  • 北京顶点b128怎么样
  • 营业执照增加项目怎么办理
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设