位置: 编程技术 - 正文

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

  • 企业所得税年度汇算
  • 农产品收购发票使用范围
  • 现金流量表的编制基础是什么
  • 社保公积金计提是本月计提下月
  • 个体小规模一般纳税人税率多少
  • 辅助材料属于成本吗
  • 银行存款利息的计算
  • 贴息是谁支付
  • 销售折扣购货方的会计分录
  • 专利转让费用能否计入研发
  • 委托加工农产品的扣除率
  • 以前年度损益是所有者权益吗
  • 设备的配件怎么做分录
  • 销项税没有进项税多
  • 不需要抵扣的怎么直接进费用
  • 开发票六位代码
  • 向职工出售住房
  • 怎么核算外汇业务
  • 教育费附加减免性质代码
  • 稻谷增值税税率多少
  • 外贸公司是做什么的 经营范围是什么
  • 水费差额征税税率
  • 外购已税化妆品生产的护肤护发品
  • 分摊本月领用材料的成本差异
  • 增值税发票红字发票怎么开具
  • neoDVD.exe - neoDVD是什么进程 有什么用
  • 基于thinkphp的学园招聘系统项目源代码
  • 房屋装修固定家具是否计入房产税
  • 营改增之前的收入开什么票
  • 每个建筑项目都有监理吗
  • 存货核算方法可以变更吗
  • dns域名解析两种方式
  • 低值易耗品费用计入什么科目
  • js reverse
  • 一般纳税人销售货物税率
  • 其他收益在利润表中的位置
  • 房地产开发间接费用和开发费用的区别
  • 用房子贷款印花税怎么算
  • sql server使用sql语句
  • 总分类账的登记依据和方法取决于企业所采用的
  • 先开票后出库会计处理
  • 餐饮行业加盟模式
  • 对公支付的款项没有发票怎么报销
  • 收到第三方补助怎么做账
  • 企业发生装修费就计入长期待摊费用吗还是
  • 质保金可以先不开票吗
  • 洗浴发票可以报销么
  • 预付卡发票如何做分录
  • 增值税进项发票抵扣认证流程
  • 实务操作中如何快速记忆
  • 红酒礼品盒批发
  • 物业管理企业应设置代管基金和代收款项账户
  • sqlserver用户权限不给增删查改表结构权限
  • 无线网卡搜索不到无线网
  • 使用linux常用命令
  • 远程关机对话框怎么打开
  • xp系统硬盘管理
  • 误删windows
  • windows 8.1 with update (multiple editions)
  • centos如何安装软件
  • Win8.1怎么打开无线网卡
  • win7无法删除d盘
  • react 技巧
  • css样式的使用
  • 教你用十行node.js代码读取docx的文本
  • linux怎么使用c语言
  • 关于Air端与android端的通信实现
  • unity资源库
  • js表单事件有哪些
  • jQuery Easyui Tabs扩展根据自定义属性打开页签
  • onInterceptTouchEvent onTouchEvent 的坑 坑死了
  • bootstrap需要学多久
  • 宁波地铁支付宝可以刷吗
  • 个税app如何更改扣缴义务人
  • 法人没有实名认证,现在要变更,还需要实名认证吗
  • 成品油消费税税率2023
  • 如何践行中国精神论文
  • 外购已税小汽车用于连续生产小汽车为啥可以抵扣
  • 安徽马鞍山税务局体检名单
  • 税务登录 河北省地方税务局
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设