位置: 编程技术 - 正文

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性能优化)

  • 利息收入需要缴纳企业所得税吗
  • 文化事业建设费怎么申报
  • 垃圾处理费怎么算
  • 增值税纳税申报时间
  • 会计差错更正流程
  • 职工福利费劳保用品
  • 高新技术企业清算所得税率是多少
  • 采暖费报销发票
  • 报关单和发票不符怎么办
  • 其他应收怎么调增值税
  • 营改增后广告行业税率
  • 预付费用计入当期费用吗
  • 基本医疗保险是什么?
  • 餐费专票认证了怎么办
  • 附加税增值税免抵税额的数据从哪里提取的
  • 信用减值损失借方余额在利润表中
  • 批发led电子屏
  • 增量留底税额怎么进行确定
  • 中国电信服务
  • 高新技术研发人员比例
  • 税收返还的账务处理
  • 增值税免税项目和免征增值税的区别
  • 缴纳上月增值税记账凭证怎么填写
  • 发生销售折让会计分录
  • mac鼠标移动到角落立刻显示桌面
  • 在win7系统中,添加打印机驱动程序
  • 临时工工资的会计处理
  • 红蘑菇是什么松树伞吗
  • win10如何查看显卡配置
  • php的pdo
  • 出卖固定资产企业处罚
  • linux vim
  • phpforeach遍历二维数组
  • PHP:pcntl_wait()的用法_PCNTL函数
  • 增值税直接减征的开什么发票
  • echart横坐标
  • php 加密
  • 损益类科目调整影响所得税吗为什么
  • redux-tookit
  • unet模型代码matlab
  • php jsondecode
  • php对称加密算法
  • 永久性差异会计不确认收入
  • 按摊余成本计量的应收账款
  • 银行账号未备案怎么解决
  • mysql命令大全手册
  • 实际发生坏账损失不影响应收账款
  • 代销商品税率是多少
  • 小规模纳税人固定资产原值含税吗
  • 我国耕地占用税使用的税率为
  • 临时工工资会计凭证
  • 股权转让如何缴纳个税
  • 工资每月变动社保怎么变
  • 一家新成立的贸易企业
  • 一般纳税人购进商品的会计分录
  • 差旅费退回怎么写
  • 复式记账法的特点不包括
  • 删除一组数据中的指定数据
  • mysql 更改密码
  • centos下安装jdk
  • 在windows中在下列叙述中正确的是
  • 在windows中创建用户的步骤
  • win7还是win8好用
  • xp系统设置壁纸
  • 32.exe 什么病毒
  • win8系统如何连接wifi
  • centos8安装锐速
  • linux修改环境变量后需要重启吗
  • linux目录结构创建
  • opengl编程宝典
  • android应用程序的主要语言是java
  • android游戏开发论文
  • jquery.min.js源代码
  • unity自带的ui叫什么
  • android基础知识入门
  • unity3d基础操作
  • jquery将文本框设置为只读
  • 开具红字增值税专用发票通知单
  • 十四五时期税收制度
  • 深圳市地方税务局历任局长
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设