位置: 编程技术 - 正文

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

  • 增值税的专用发票含税吗
  • 不含税买货合法吗
  • 税务机关采取哪些行政
  • 保险公司代征的税收
  • 民办非企业单位可以盈利吗
  • 未开票收入次月如何申报增值税
  • 分公司税务登记流程视频
  • 人力资源的差额征收怎么报企业所得税
  • 资产负债表其他应付款计算公式
  • 部分红冲的发票,剩余未冲红部分可以再红冲么
  • 金融企业贷款损失准备金税前扣除计算
  • 随意变更会计处理方法违背了
  • 企业所得税工资薪金支出怎么填
  • 仓库物料入库
  • 税控盘减免怎么做账
  • 速达财务软件使用说明
  • 信用减值损失属于什么会计要素
  • 中药材免税还能抵扣收购发票
  • 企业所得税怎么征收几个点
  • 教育费附加税优惠
  • 多结转成本的会计分录
  • 电脑上不了网怎么安装网卡驱动
  • 暂估应付账款是什么科目
  • 工程项目发包是什么意思
  • 怎么跟银行谈停息挂账
  • PHP:xml_get_error_code()的用法_XML解析器函数
  • 企业补缴个人所得税罚款
  • windows的记事本的扩展名
  • 作为一名程序员应该掌握哪些语言
  • ibm-web-ext.xmi
  • vue public assets
  • 企业所得税弥补以前年度亏损怎么算
  • mxnet github
  • php十进制转二进制算法
  • framework4.0怎么打开
  • php 无限级分类
  • php写一个简单的单例模式
  • 帝国cms灵动标签下拉框
  • mongodb启动
  • 固定资产报废如何交增值税
  • 领取定额备用金的会计分录
  • 税率的确定和什么因素有关
  • 那怎么才能恢复
  • sql2008降级2005
  • 兼营和混合销售怎么区分
  • 小型企业需要给员工买社保吗
  • 背书的行为
  • 两个公司开发票
  • 企业应收账款怎么记账
  • 开诊所会计应如何做账
  • 上市公司限制性股票个人所得税
  • 补缴年报所得税怎么填
  • 电商企业银行账户是什么
  • 收到外国人的礼物怎么感谢
  • 管理费用如何冲减
  • 红字更正法和红字冲销
  • 哪些收入属于免增值税
  • 旅行社开的机票款可以抵扣吗
  • 企业应如何正确经营
  • mysql handshake
  • 强制删除快捷键是什么
  • ubuntu16.04安装拼音输入法
  • windows.exe
  • dropbox app
  • ubuntu搭建nginx服务器教程
  • 360rps.exe
  • mac个性定制在哪
  • fsav32.exe是什么进程 有什么作用 fsav32进程查询
  • windows 10为什么不能关掉自动更新
  • win8系统触摸板按键不能用
  • unity 手册
  • SlidingMenu属性详解【Android】
  • nodequery
  • shader要学多久
  • python引用方法
  • shader入门
  • 动态页面设计
  • 河南商丘联通宽带最低多少钱
  • 公积金取出后显示未到账
  • 酒精税收分类编码查询
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设