位置: 编程技术 - 正文

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

  • 企业纳税人是什么
  • 股东分红的账务处理结转
  • 发票右上角打印缺数字
  • 印花税票吧
  • 季末资产总额填错了要紧吗
  • 小微企业附加税税收优惠政策
  • 误餐费没有发票怎么说明
  • 计提坏账准备确认的信用减值损失累计金额
  • 解除合同补偿金需要缴纳个税吗
  • 股东投入的资金要交税吗
  • 简易征收红冲报税方式是什么?
  • 企业固定资产的盘亏净损失
  • 企业年报最容易掉进的九大“陷阱”
  • 增值税多交了怎么申请退税
  • 利息资本化的时点
  • 制作广告费用
  • 老板垫付的货款怎么做凭证?
  • 资源管理器一直弹出
  • 如何玩faceit
  • 销售门窗并安装如何缴纳增值税
  • 个税抵扣申报截止时间
  • 华为mate50pro怎么读
  • 营改增后房地产企业账务处理
  • PHP:mb_convert_kana()的用法_mbstring函数
  • 公司名称变更重新刻章
  • 五金企业成本核算方法
  • 应交税费为负数什么原因
  • php 提交表单
  • 固定资产清理属于什么类科目
  • zend framework手册
  • 产品注册费会计科目
  • 蒙塔巴诺督查
  • vue2转vue3工具
  • cvpr2021论文列表
  • 微信小程序人民法院审核通过多久立案
  • unrar解压命令
  • wordpress安装包
  • 定额发票新旧版区别
  • 增值税普通发票税率
  • 非限定性净资产包括哪些科目
  • 发放股票股利的账务处理
  • 一般纳税人年收入500万交多少税
  • 个体户跨季领取发票流程
  • 完全卸载mysql8.0
  • 普通发票和增值税发票的税率
  • 测绘费 土地增值税
  • 个人住房租赁给公司如何开票
  • 借递延所得税资产贷递延所得税费用
  • 工业企业中制造费用包括哪些内容
  • 投资性房地产出租收入计入什么科目
  • 应交税金等于销项减进项吗
  • 什么是内部报酬吗
  • 企业实收资本的用途
  • 暂估成本以后也没有票回来了
  • 营业执照增加经营范围需要法人去吗
  • 如何监测和优化电池寿命
  • mysql查询语句菜鸟教程
  • MySQL数据库索引设计
  • windows8.1如何分区
  • 远程管理是什么意思
  • centos 安装教程
  • windows与xp的区别
  • ptssvc.exe - ptssvc是什么进程 有什么用
  • win10开机出现microsoft
  • 遍历enumeration
  • 利用百度地图画cad图
  • perl 采集入库脚本分享
  • 深入领悟六个必须坚持
  • ajax动态加载json数据
  • php绘制图形函数
  • 详细解读了
  • python爬虫爬取网页数据
  • unity导入设置在哪里
  • javascript中的document
  • 基于js实现微信直播
  • android使用红杏代理更新sdk
  • android 进程启动流程
  • 四川省国家税务局官网
  • 中国税务手机版
  • 软件著作权可以转让公司吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设