位置: 编程技术 - 正文

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

  • 固定资产处置损益怎么算
  • 核定扣除公式
  • 其他应收款平账怎么做分录
  • 企业大额融资贷款
  • 发票第一联需要盖章嘛
  • 进项税未抵扣进账了怎么处理
  • 研发费用辅助账谁来做
  • 企业财务发工资流程
  • 资产组减值测试要包含使用权资产吗
  • 主营业务收入如何红冲
  • 捐款怎样抵扣个税
  • 制造业交新型墙体材料专项基金款分录
  • 法院的申请执行费用什么时候收取
  • 小规模纳税人开具1%增值税专用发票可以抵扣吗
  • 设计费开专用发票几个点
  • 税率简并的影响因素
  • 股权转让能否低于股价
  • 空调折旧年限的最新规定2018
  • 多交的增税怎么做账
  • 筹建期员工社保分录
  • 厂房装修费用计入制造费用吗
  • 计提福利费会计科目
  • 研发费用属于期余资产吗
  • win11任务栏如何设置在最左边
  • 甲方代付农民工工资合同
  • 损益类科目反映企业在一定期间内利润或亏损,可以分为
  • 工会经费申报的依据
  • linux禁止ip访问80端口
  • ms-dos安装
  • 在win7中怎么安转只兼容win10的软件
  • 经营租入的设备能够确认为资产吗
  • 增值税税率类型
  • 如何提高php性能
  • 承兑汇票无法兑现的原因
  • php通用分页类
  • 退伍兵自谋职业后被单位辞退怎么办
  • 临时存款账户销户
  • 资产负债表应交税费计算公式
  • 鸳鸯小鸟
  • 微信小程序解锁安全吗
  • opencv教程
  • php 弱类型变量是怎么实现的
  • 汇兑损益计算方法有哪些
  • 公司发给员工的股票
  • 金蝶会计报表公式
  • 公司欠款 法人
  • 织梦cms不更新了吗
  • 合作卖东西怎么分成
  • mongodb replica set 配置高性能多服务器详解
  • 对方开给我的专票,我要报税吗?
  • 预提费用取消了吗
  • 个人所得额哪些要交税
  • 进口海关是国内还是国外
  • 公司买车可以抵扣企业所得税吗
  • 应收账款逾期什么意思
  • 研发费用固定资产如何入账
  • 一般纳税人季度所得税怎么计算
  • 其他应付账款在借方表示什么
  • 关联方资金往来是否收取利息
  • 应交税金为负数应该填在资产负债表哪一栏
  • 实物出资没有发票怎么办
  • 开红字发票做账时记账凭证上如何写摘要?
  • 关于母子公司的关系的表述,正确的是( )
  • 对公账户明细入账怎么查
  • 老项目简易征收税率
  • mysql8 jdbc连接
  • ubuntu 安装指定位置
  • ghost后恢复数据
  • xp系统的cad
  • windows应用图标
  • linux安装后没有网卡只有lo
  • 安卓手机的手势密码保存在哪个文件
  • 脚本被删除
  • jquery发送json
  • jquery 列表控件
  • python文字检测
  • jquery实现全选
  • easyui 表单提交
  • python中的文件
  • 什么是财务舞弊行为
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设