while 循环内的表变量并非每次都初始化:SQL Server

2024-02-28

我想知道为什么 while 循环内的表变量的行为与其他变量不同。表变量仅创建一次,并将在整个循环中使用。但每次循环增加时其他变量都会被初始化。

查看下面的代码以获取更多信息

declare @tt int
set @tt =10
while @tt>0
begin

        declare @temptable table(id int identity(1,1),sid bigint)
        insert into @temptable 
                select @tt union all
                select @tt + 1 

                select * from @temptable 
               --delete from @temptable
                set @tt=@tt-1
end

这是一个错误吗?


你的前提是错误的。其他变量也不会在每次遇到声明语句时重新初始化。

set nocount on

declare @tt int
set @tt =10
while @tt>0
begin

        declare @i int

        set @i = isnull(@i,0) + 1
        print @i
        set @tt=@tt-1

end

Prints

1
2
...
9
10
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

while 循环内的表变量并非每次都初始化:SQL Server 的相关文章

  • 更新或插入 SQL Server 时忽略错误行

    我的项目必须处理巨大的数据库 在最坏的情况下 它可能是超过8000万行 现在 我有 2 张桌子T1 and T2 我必须从表中复制数据T1到餐桌T2 如果表中的一行T1表中已存在T2 相同主键 然后更新该行其他列的数据T1 to T2 否则
  • 找到帖子链接、每个标签对应的相关标签并在用户级别进行回答

    继续我之前的question https stackoverflow com questions 60967044 retrieve count of total no of answers corresponding to each ta
  • SQL 查询 - 将查询中的日期格式更改为 DD/MM/YYYY

    我想要实现的目标相当简单 将一种日期格式转换为另一种日期格式 由此 Jan 30 2013 12 00 00 000AM对此 DD MM YYYY或者在这种情况下30 01 2013 但是 当它是该月的 1 号到 9 号时 日期格式缺少零并
  • 如何只获取 getdate() 的日期部分? [复制]

    这个问题在这里已经有答案了 我有一个包含 CreationDate 字段的 SQL 表 I have getdate 在计算列规格公式中 我想知道如何获取日期部分 即 2012 08 24 而不是 2012 08 24 10 45 17 7
  • 如何在 C# 中从 sql server 运行代码 [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions SqlCommand cmd new
  • 将 MS SQL Server 数据库连接到 Oracle 11g 数据库

    我正在努力创建从 Oracle 数据库到一个 SQL Server 的数据库链接 为此 我添加了以下内容 In file tnsnames ora sqlUserConn DESCRIPTION ADDRESS PROTOCOL tcp H
  • INSERT INTO ... SELECT ... 是否始终按序号位置匹配字段?

    我的测试似乎证实了这一点 INSERT INTO a x y SELECT y x FROM b maps b y to a x 即字段仅按顺序位置匹配 而不按名称匹配 情况总是如此吗 即 我可以依赖这种行为吗 很遗憾 文档 http ms
  • 为什么 Sql Server 2000 上的 TSQL 对小数点的舍入不一致?

    我正在尝试计算美元金额的折扣百分比 在 50 的情况下 有时你会得到半分钱 我需要将其四舍五入到最接近的一分钱 在Sql中 我的计算如下 round retail 0 5 2 0 如果我采用以下值 我会得到不同的结果 4 39 2 49 不
  • SQL Server 存储过程对象名称无效

    我在尝试修改现有存储过程时收到此错误 Invalid object name dbo BackupDB 我能够创建此存储过程 但是当我单击修改选项来修改此存储过程时 系统显示了上述错误 您会看到所附图片 当尝试执行此命令时 我也遇到同样的错
  • 大表的最佳主键格式

    我正在开发一个 ASP NET 应用程序 它有一些可能很大的数据表 我想知道定义主键的最佳方法是什么 我知道以前已经有人问过这个问题 但由于这是针对特定情况的 所以我认为这个问题是有效的 我在 SQL Server 2008 数据库上使用实
  • T-SQL 相当于 =rand()

    我有几个内容表 我想用随机的文本段落填充它们 在 MS Word 中 我只需输入 rand 即可 我收到三段新鲜的文字 是否有 SQL 脚本 命令可用于使用 t sql 生成随机字典单词 declare Lorem nvarchar max
  • 智能感知不工作 SSMS 2014

    我知道有很多关于这个问题的帖子 但是我无法找到解决我的问题的方法 跑步 SMS 2014 with CU1 SSMS 和客户端工具上的版本 10 0 2342 0 Visual Studio 2010 SP1 10 0 40219 1 SP
  • 将 Mdb 转换为 Sql Server

    如何使用 C 或其他语言将 mdb 访问文件转换为 sql server 我找到了一个article http channel9 msdn com forums TechOff 234266 Convert MS Access DB to
  • .net 应用程序中的内存泄漏

    我正在 VB net 2005 中开发一个桌面应用程序 该应用程序包含一个间隔为 1 分钟的计时器 每次计时器计时 就会执行一组函数 大部分与数据库相关 最初 应用程序运行良好 在进程 任务管理器 中 每次调用计时器时 CPU 使用率都会达
  • 从多行中获取/选择值到sql server中的1行中

    我有一个表格 每列都有一些图像 Acd unq id Emp unq id Acd BImg1 Acd BImg2 Acd RImg1 Acd RImp2 Acd RImg3 Acd Active 1 1745 BinaryImg Bina
  • 查找 SQL Server 中表的 B 树高度

    由于数据库数据以B Tree的形式组织在8k页中 对于PK信息也是如此 数据库中的每个表都应该可以计算B Tree的高度 从而揭示达到某些数据需要多少次跳跃 由于行大小和 PK 大小都非常重要 因此很难计算 因为例如varchar 250
  • Linq 选择与另一个表中的 ID 相等的项目

    我不确定这怎么可能 但我有两个表 我想通过表 1 的值从表 2 中获取值 表 1 有一个名为 rank 的外键 它是int 表 2 有一个名为 name 的值 它是string 现在表 1 的 排名 与表 2 的 ID 相关 所以当我说 v
  • ELMAH 错误和经典 Asp

    我们已经在我们拥有的 ASP NET MVC 网站上使用 ELMAH 进行错误日志记录 但我们的主网站仍然是经典的 asp 我已经开始为该网站创建错误处理 日志记录结构 但我认为它如果我们能够在所有应用程序中保持错误日志记录的一致性 那就太
  • 在 WHERE 子句中使用可选参数

    我有一个SP ALTER PROCEDURE dbo sp Compare lst varchar 100 frst varchar 100 NULL passportNo varchar 50 NULL AS SELECT FROM db
  • 为什么 SSRS 报表从 SQL Server Reporting Services 运行时生成的数据与使用“预览”选项卡运行时生成的数据不同?

    我有一个运行我想要的数据的报表 从 预览 选项卡 即 或者在 VS 2010 中使用 F5 运行时 但是当我将报表 rdl 文件 上传到 SQL Server Reporting Services 并运行更新后的报表时从那里报告 它仍然显示

随机推荐

  • 由于不同的病毒扫描程序导致 Microsoft Visual Studio 速度变慢

    与 Microsoft Visual Studio 一起使用的最慢的病毒扫描程序是什么 由于我的病毒检查器 我刚刚让 Microsoft Visual Studio 再次 变慢 数百个项目 其中一些包含超过 100 个 C 文件 因此任何减
  • 如何通过按 Enter 退出 while 循环?

    I am trying to get a while loop to break by pressing the Enter key on a keyboard My code is package javaapplication4 imp
  • Android Espresso 执行长按而不是单击

    onData anything inAdapterView withId R id ScheduleOrderListViewListView atPosition 0 perform click 50 的时间执行长触摸 有没有好的解决方法
  • 用于收集对象的 Rails 模型类方法

    我在编写用于集合的类方法时遇到问题ActiveRecord对象 在过去的几个小时里 我已经两次遇到这个问题 这似乎是一个简单的问题 所以我知道我错过了一些东西 但我无法在其他地方找到答案 Example class Order lt Act
  • 无法在设备上调试应用程序

    我的所有设备都工作正常 这个特定的设备是三星的 但没有 当我插入手机时 手机会显示在 DDMS 设备列表中 但是 没有任何应用程序 进程出现 这是唯一发生这种情况的设备 是的 USB 调试已启用 是的 debuggable 在清单中设置为
  • css嵌入无滚动条

    好吧 我有一个带有 ajax 按钮的页面 当您点击 ajax 按钮时 它会将一个嵌入对象扔到 data div 中 一切正常 我的问题是嵌入正在创建一个我不想要的滚动条 关于如何防止滚动条有什么想法吗 我已经尝试过在任何地方都可以抛出 ov
  • Webgl使用视口+剪刀更新区域

    我一直在尝试创建一个多视口 webgl 应用程序 对于每个视图 我使用视口 剪刀将所有内容渲染得非常好 但现在我想改进渲染并只渲染更新的视图 因此跳过过度绘制 我做了一个小演示来展示这个想法 http kile stravaganza or
  • LIMIT then RAND 而不是 RAND then LIMIT

    我正在使用全文搜索来提取行 我根据分数对行进行排序 ORDER BY SCORE 然后在前 20 行 LIMIT 20 中 我想对结果集进行兰特 RAND 操作 因此 对于任何特定的搜索词 我想随机显示前 20 个结果中的 5 个 我的解决
  • MSI 安装程序错误 2810 中断安装,但仍然顺利完成

    我创建了一个安装应用程序的设置 并且仍然如此 但它最后开始突然发出奇怪的警告 因此 当安装过程完成时 会出现以下内容 安装程序在安装此软件包时遇到意外错误 这可能表明此包有问题 错误代码是2810 于是我查了2810 上面写着 在对话框 2
  • Angularjs 1.7.9 - 可能未处理的拒绝[重复]

    这个问题在这里已经有答案了 我经常遇到这个错误Possibly unhandled rejection即使在使用时 promise then success err or promise then success catch err 我应该
  • Oracle 12c - “number”列上的索引比“varchar”列上的索引执行得更快吗?

    假设我在 Oracle 12c 中有一个表 其中包含以下列 create table t1 a number 5 0 b varchar 5 0 d e 然后我在具有相同值的两列中插入 100 000 000 条记录 例如 20151 an
  • 将 Android Studio 项目与 Gradle 文件同步

    I was working on a project and then I got a prompt to update Android Studio After I did that I started getting this erro
  • 如何以编程方式触发浏览器的搜索?

    我喜欢做的是通过 JavaScript 以编程方式触发浏览器的页面搜索功能 I e when a page is loaded and the the user presses Ctrl F a search field is opened
  • JobStorage.Current 属性值尚未初始化。您必须在使用 Hangfire 客户端或服务器 API 之前设置它

    我在 mvc 应用程序中使用hangfire 我正在向用户发送提醒 预约 我已经在我的应用程序中安装了hangfire 我已经配置了hangfire 启动 cs 类 但是当我运行该应用程序时 它会产生以下错误 作业存储 当前属性值尚未初始化
  • Python中快速嵌套列表的意外更新结果[重复]

    这个问题在这里已经有答案了 为什么下面不能更新第一个元素而是整列 gt gt gt x 2 2 1 gt gt gt x 1 1 1 1 gt gt gt x 0 0 2 gt gt gt x 2 1 2 1 即使这是明显的重复但使用ran
  • Android:ListView.getScrollY() - 它有效吗?

    我正在使用它 但它总是返回 0 即使我已经滚动到列表末尾 getScrollY 实际上是View上的方法 而不是ListView上的方法 它指的是整个视图的滚动量 所以它几乎总是0 如果你想知道ListView的内容滚动了多远 可以使用li
  • 气球弹出 WPF

    我需要显示一个气球弹出窗口 WPF中有针对此类工作的控件吗 像下面这样
  • 在 Swift 中从 iPhone 加载联系人会崩溃

    我正在尝试加载我的应用程序的联系人 它在模拟器中运行良好 但在 iPhone 上却崩溃了 我正在使用的代码 func getContactNames let allContacts ABAddressBookCopyArrayOfAllPe
  • 将 SQL 列空值转换为 0

    我是 SQL Server 新手 有一个问题 我有这样的视图 其中公式中的某些列允许为空 我如何将这些空值转换为 0 因为如果它们为空 则公式的结果也将为空 Thanks CREATE VIEW vwAchizitii AS SELECT
  • while 循环内的表变量并非每次都初始化:SQL Server

    我想知道为什么 while 循环内的表变量的行为与其他变量不同 表变量仅创建一次 并将在整个循环中使用 但每次循环增加时其他变量都会被初始化 查看下面的代码以获取更多信息 declare tt int set tt 10 while tt