位置: 编程技术 - 正文

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

  • 应交土地使用税和应交城镇土地使用税一样吗
  • 购买土地的契税怎么计算
  • 公司提供午餐的目的
  • 现金流量表中的现金即为货币资金
  • 企业所得税抵扣项
  • 过期的食品退回去厂里怎么处理
  • 扣员工餐费需要缴纳个税吗
  • 年终奖金在年度内扣税吗
  • 建筑图纸设计费包括晒图费吗
  • 增值税发票可以抵税吗
  • 会务费税前扣除比例
  • 营改增后装修行业税率
  • 科技型中小企业享受优惠税收政策2023
  • 企业发生的运输费用怎么做账?
  • 向关联企业借款债资比
  • 没有单据怎么核算成本?
  • 单位为员工支付医疗费
  • 神州战神笔记本怎么进入不了bios
  • linux中压缩
  • 在windows7环境中鼠标主要的三种操作方式是
  • 如何使用windows的记事本创建文件
  • 收入成本配比原则
  • 公司总部固定资产折旧
  • Win10待机唤醒后白屏怎么办
  • 什么时编制
  • 固定资产更新改造期间提折旧吗
  • 最小的电脑是多少寸的
  • 联营企业分得的利润应计入
  • php5.5
  • php输出mysql查询结果
  • vue3+antd
  • continue命令必须与locate
  • php用在哪些方面
  • 年度总产值等于营业收入
  • 处置固定资产涉税
  • 出差费算什么科目
  • 线程池中的一个线程执行完一个任务后
  • 运输服务的增值税税率到底是6还是9
  • 调拨仓库
  • 固定资产加速折旧计算方法
  • 差旅费报销会计分录题目
  • 一般纳税人增值税申报操作流程
  • 亏损企业对外捐赠的税前扣除
  • 代收收入
  • 配件销售人员应该具备哪些能力
  • 没有票的成本怎么处理
  • 自来水差额征税申报表填写
  • 代垫运杂费计入销售收入吗
  • 福利费专票分录
  • 建筑业纳税人简易征收偷逃增值税
  • 如何计提五险一金比例
  • 企业所有者权益是指什么
  • win10预览版和正式版区别
  • 最新版日历
  • xp系统自带浏览器打不开网页
  • 优盘安装系统
  • win7旗舰版系统激活码
  • win7电脑开机声音怎么改
  • centos怎么设置密码
  • 苹果mac怎么查看运行数据
  • 让mac桌面变整洁的方法
  • win10拦截在哪里关
  • 以root身份建一个目录/test
  • win7开机提示重启怎么办
  • rundll32.exe是什么程序
  • jquery Ajax 全局调用封装实例详解
  • ercp后淀粉酶为什么升高
  • node.js wss
  • mysql命令备份数据库
  • 网页设计需要多少分辨率
  • 读取fasta文件
  • unity3d打开
  • window.open失效
  • javascript设置字体
  • 在python中的用法
  • 江苏省国税总局
  • 港澳台资企业
  • 税务询问笔录属于什么证据
  • 深圳市的各区域排名
  • 国家税务总局河北地税局
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设