位置: 编程技术 - 正文

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

  • 已抵扣的进项税额怎么转出
  • 合伙事务执行的办法有哪些?
  • 缴纳城镇土地使用税
  • 母子公司间借款利息交税吗
  • 普票销项负数发票
  • 高铁票抵扣税率怎么计算
  • 向投资者分配现金股利会影响负债吗
  • 工业企业会计错账处理方法有哪些
  • 企业税费计算
  • 资产负债表中流动性从高向低
  • 公司办理个人所得税退税
  • 4s店收取的金融服务费用
  • 加工生产产品的地方 用两个字形容
  • 第三方代缴社保算工龄吗
  • 代扣代缴城建税可以享受六税两费
  • 冲减应付账款
  • 淘汰生产母猪处理销售收入的分录怎么处理?
  • 进口的原材料没有发票
  • 小规模企业超过500万营业额
  • 包销和代销哪个风险大
  • 以前年度进项税少记了如何调整
  • 水产类账目怎么做
  • 注册资本认缴与注册登记实操
  • 从租计征的房产税纳税义务发生时间
  • windows10如何设置桌面背景
  • 债券类资产的远期合约是什么
  • psimsvc.exe - psimsvc是什么进程 有什么用
  • PHP+Mysql+jQuery查询和列表框选择操作实例讲解
  • 劳务派遣公司账目如何做
  • Linux系统怎么配置IP
  • 公司出租房屋怎样开发票的税务局率?
  • 卡特迈国家公园地图
  • 公司向个人支付劳务费
  • 海恩斯科普简介
  • 在windows中安装应用程序的途径
  • 总账会计工作职责精选汇总
  • matlab基础介绍
  • 域名续费多久生效
  • 来料加工成品如何入库
  • 网上学电脑
  • 职工食堂资金管理办法
  • 预缴税款计入什么科目
  • 施工企业内部常设置?主要出实验报告
  • 企业财务报表有附注吗
  • php fgetc
  • 技术服务费该怎么收
  • 来料加工成本是多少
  • 结转本月完工产品成本会计分录怎么写
  • 预提费用在汇算清缴时调整
  • 出口应纳增值税
  • 年金现值和年金终值的例题
  • 以现金形式发工资违法吗
  • 飞机票电子发票可以抵扣进项税吗
  • 企业日常发放的贷款
  • 私立幼儿园怎样转公立幼儿园
  • 负债表预付账款怎么填
  • 购入一辆运输汽车,价值5.6万元,款项尚未支付
  • 商业企业固定资产一次性扣除
  • 英伟达更新有用吗
  • windowsxp关闭窗口操作方法有哪些
  • windows service 2008 r2
  • VirtualBox虚拟机中文免费
  • window10的dns异常
  • win传统桌面
  • 命令行教程
  • 有没有软件恢复
  • win7系统存储在哪
  • 使用文字输入
  • jquery+ajax实现注册实时验证实例详解
  • Android 为LinearLayout增加分割线 divider
  • android ui线程和主线程的区别
  • windows下安装nas
  • windows node.js
  • jquery上滑下滑
  • 下载随手笔记
  • shell终端是什么意思
  • 金税盘未反写
  • 社保申报截止日期每月2023年
  • 怎么判断买的盐是不是真的
  • 最新专票税率几个档
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设