位置: 编程技术 - 正文

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

  • 职工福利费会计凭证
  • 财税通财务软件如何调整凭证间距
  • 附加税税负
  • 分期付款进项税额怎么算
  • 出让土地缴纳的契税怎么账务处理
  • 开办费计入管理费用后是否要转出
  • 房租收入纳税义务
  • 会计发票怎么样粘贴,记账凭证也要粘上吗
  • 公共电话亭的话费收入如何做税务处理呢?
  • 基本医疗保险是什么?
  • 施工企业营改增税费有哪些
  • 个人所得税税费种认定功能在哪里
  • 零申报的资产负债表不能为0
  • 金税盘增值税普通发票红冲操作流程
  • 公司为员工承担的个税可以税前扣除吗
  • 银行汇款风险提示
  • 应交税费包括了增值税吗
  • 先缴纳社保还是先扣税
  • 成本利润率的计算公式中,成本费用总额包括
  • 股权更改需要什么费用
  • pos机刷卡手续费谁承担
  • 餐查账征收企业所得税会计分录?
  • 收到法院执行款专户打来的钱
  • win11右下角时间设置
  • Windows无法启动服务
  • 卸载软件怎么清理干净
  • 鸿蒙系统桌面布局图片怎么设置
  • win10专业版激活密钥永久2023
  • 企业对外股权投资涉及税收
  • 补缴税款会计分录
  • kb4532945安装失败
  • 生育津贴报销需要准生证吗
  • 动态路由协议rip配置实验心得
  • php访问mysql数据库函数
  • 网络打印机找不到网络路径
  • PHP:session_register_shutdown()的用法_Session函数
  • 已认证进项税发票可抵扣么
  • neoDVDstd.exe - neoDVDstd是什么进程 有什么用
  • 网站国际化方案
  • 发票开具的法定义务是什么
  • php str函数
  • 财行〔2019〕11号代扣代缴手续费的解读
  • php的时间戳
  • ts与js的优缺点
  • php md5 16位
  • 房地产开发费用最高扣除比例
  • 企业纳税人识别号是什么
  • 党费结算标准
  • 发票有别的字迹有影响吗
  • 资产负债表中其他应收款的计算公式
  • 有销项没有进项怎么做分录
  • 金税盘抵扣的结转会计分录
  • 车船税手续费返还时间
  • 外购的商品赠送客人是否销售吗
  • 劳务公司核定征收怎么交税的
  • 公司账户转账转错了能退回来吗
  • 分期收款定义
  • 开具红字增值税专用发票信息表需要盖章吗
  • 营业外收入适用的会计准则
  • 自产自销的茶叶公司怎么做账
  • 长期待摊费用怎么记账
  • sql server连接方式
  • centos安装NVIDIA驱动
  • windows vista home basic
  • ubuntu安装chia
  • win8系统升级
  • win10开机黑屏进入不了系统界面
  • macbookair控制面板
  • xshell远程桌面
  • ssh客户端软件
  • 邮箱应用程序
  • js填写input
  • 网页制作颜色搭配
  • css控制图片置灰
  • css对象
  • unity游戏开发入门经典
  • node.js操作数据库报错不再队列中
  • 仿京东商城源码
  • python 在线运行环境
  • 武汉市国税局长
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设