在 IF .. ELSE 语句中使用临时表

2024-04-18

为什么SQL Server坚持认为临时表已经存在!其中之一将会发生! ,所以永远不会出现这种情况。

declare @checkvar  varchar(10)
declare @tbl TABLE( colx varchar(10) )
set @checkvar ='a'

INSERT  INTO @tbl (colx) VALUES('a')
INSERT  INTO @tbl (colx) VALUES('b')
INSERT  INTO @tbl (colx) VALUES('c')
INSERT  INTO @tbl (colx) VALUES('d')

IF @checkvar  is null  select colx INTO #temp1 FROM @tbl
ELSE select colx INTO #temp1 FROM @tbl WHERE colx =@checkvar

错误是:数据库中已有一个名为“#temp1”的对象。

有没有一种优雅的方法来解决这个问题? 如果@checkvar为空,我想要整个表 否则,只给我 @checkvar = some 的值

编辑:该列是 varchar,而不是 int。


您可以使用以下命令创建具有所需结构的空临时表WHERE 1=0。然后用你的原始代码插入所需的记录

SELECT colx INTO #temp1 
FROM   @tbl 
WHERE  1 = 0  // this is never true

IF @checkvar  IS NULL
BEGIN 
    INSERT INTO #temp1 (colName)   
    SELECT colx FROM @tbl 
END
ELSE 
BEGIN 
    INSERT INTO #temp1 (colName)   
    SELECT colx 
    FROM   @tbl 
    WHERE  colx = @checkvar 
END
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 IF .. ELSE 语句中使用临时表 的相关文章

随机推荐

  • Ruby+Anemone Web Crawler:正则表达式匹配以一系列数字结尾的 URL

    假设我正在尝试抓取一个网站并跳过一个像这样结束的页面 我目前正在 Ruby 中使用 Anemone gem 来构建爬虫 我正在使用skip links like方法 但我的模式似乎永远不匹配 我试图使其尽可能通用 因此它不依赖于子页面 而只
  • 为什么这个 Sql 语句(有 2 个表连接)需要 5 分钟才能完成?

    更新 下面添加了 3 个更新 以下sql语句需要5分钟才能完成 我只是 不 得到 它 第一个表有 6861534 行 第二个表少了一点 第三个表 包含 4 个地理字段 与第一个表相同 Those GEOGRAPHY第三个表中的字段 它们不应
  • 错误域=FIRFirestoreErrorDomain 代码=7“权限缺失或不足。”

    所以我有以下代码从 firestore 检索文档 该函数在我的 viewDidLoad 中调用 func loadAnnotations db collection jumpSpotAnnotations getDocuments quer
  • 将静态库链接到共享库

    我正在尝试在 Ubuntu Linux 上使用 g 5 4 0 创建共享库 我已经构建了 Poco C 库的静态库 a 文件 我想将它们静态链接到我的共享库中 但它不起作用 我已将以下字符串添加到我的构建脚本中 Wl whole archi
  • 如何使用c#读取EPS的属性或颜色信息?

    我的要求是读取另外50个EPS文件并导出EPS的属性 颜色模式 这可能吗 颜色模式有灰度 RGB 和 CMYK 到目前为止 我尝试使用 BitmapImage 来读取 EPS 但我没有运气 BitmapImage 不读取 EPS 因为它是矢
  • ANDROID:如何将视频文件下载到 SD 卡?

    我在网站上有一个 MP4 格式的视频文件 我希望用户能够通过单击链接将该视频下载到他们的 SD 卡上 是否有捷径可寻 我目前有这段代码 但它不起作用 不知道我做错了什么 谢谢你的帮助 import java io BufferedInput
  • Titan 加载弹性搜索问题

    我使用以下代码来加载泰坦 TitanFactory Builder config TitanFactory build config set storage backend berkeleyje config set storage dir
  • 指针的大小以及该大小是否取决于体系结构

    好吧 抱歉这个问题 更像是一个一般文化问题 尚未找到准确的答案 如果我有类似的东西 char Field or void Field or double pointers 指针的大小是一样的吗 据我记得大学时它是 4 个字节 但是 根据CP
  • 类型错误 - Python 中的类

    我是 Python 的初学者 刚刚开始掌握课程 我确信这可能是非常基本的东西 但为什么这段代码是这样的 class Television def init self print Welcome your TV self volume 10
  • 多个函数聚合的结果不可用于进一步计算。为什么?

    我对 R 中聚合函数的结果有疑问 我的目标是从数据集中选择某些鸟类并计算密度 调查区域内观察到的个体的数量 为此 我获取了主数据文件的子集 然后在区域上进行聚合 计算 平均值和个体数量 由向量长度表示 然后我想用计算出的平均面积和个体数量来
  • 异或数据包中的所有数据

    我需要一个可以根据用户输入计算校验和的小程序 不幸的是 我对校验和的了解只是它是数据包中所有数据的异或 我试图在网上搜索一个例子 但没有运气 我知道我是否有一个字符串 41 4D 02 41 21 04 02 02 00 00 00 00
  • 如何在 Android 上的 Camera2 API 中设置“CONTROL_AE_EXPOSURE_COMPENSATION”?

    我目前正在开发 Androids Camera 2 API 当前的问题是我无法设置 CONTROL AE EXPOSURE COMPENSATION 我的代码 1 0 public void setExposure double expos
  • 如何让 Spring 连接我的 JmsComponent

    我正在编写一个使用 Akka Akka Camel 和 Spring 进行配置的应用程序 应用程序需要充当针对各种应用程序服务器的独立 JMS 客户端 为此 它需要使用 JNDI 设置 JMS 连接工厂 我正在用 jBoss 测试这个 我对
  • 如何在 xsl 中检查字符串是否不区分大小写

    我有一个要求需要检查DB dbtype oracle 不区分大小写 我怎样才能做到这一点 这是我的代码
  • 使用 NX monorepo 的 Azure 管道有条件发布

    我们有一个 NX monorepo 里面有多个项目 并且正在使用 nx受影响来确定哪些项目已被触及 这对于我们的构建管道非常有效 但我们希望仅在项目实际发生更改时才发布它们 我们希望每个项目都有多个发布管道 只有在实际接触时才会触发 经过调
  • 如何将CSS仅应用于顶级元素

    在我的 HTML 中 我在单独的部分中有一些页脚元素 然后是该页面的一个全局页脚元素 我只想使全局页脚出现在视口的底部 如果我这样做 它将影响所有页脚 footer position fixed bottom 0px 如果我这样做 它会按预
  • realpath() 的安全替代方案是什么?

    我正在开发一个使用 realpath 来获取文件的绝对路径的程序 不幸的是 这个函数需要一个字符串缓冲区 预计它足够大 当这个应用程序必须跨多个平台运行时 这是不安全的 该函数是否有一个安全版本可以避免缓冲区溢出问题 也许使用动态内存分配
  • 每当我将 Python 代码放入 Django 模板中时就会出现语法错误

    我正在尝试在 Django 模板中执行以下操作 for embed in embeds embed2 embed replace lt lt embed2 br endfor 然而 当我做类似的事情时 我总是会遇到无效的块或一些语法错误 我
  • 在 SSMS 中创建代码片段的代码片段

    问题 通常 如果您想将代码保存为代码片段 则必须打开一些 xml 模板 研究标签等 参考 https learn microsoft com en us sql ssms scripting add transact sql snippet
  • 在 IF .. ELSE 语句中使用临时表

    为什么SQL Server坚持认为临时表已经存在 其中之一将会发生 所以永远不会出现这种情况 declare checkvar varchar 10 declare tbl TABLE colx varchar 10 set checkva