gpt4 book ai didi

sql - 如何选择如何在sql中填充#temptable?

转载 作者:行者123 更新时间:2023-12-02 05:27:48 25 4
gpt4 key购买 nike

好的,我有一个对你们这些 Sql 高手来说可能很简单的问题...

给定一个 bool 值 T,如果 T 为真,我想用数据集 A 填充一个临时表,如果 T 为假,我想用数据集 B 填充一个临时表。我认为这将是如何做到的:

DECLARE @foo INT
SET @foo = null

IF (@foo is null)
BEGIN
SELECT 'foo was null' INTO #TempTable
END
ELSE
BEGIN
SELECT 'foo not null' INTO #TempTable
END

但这行不通。我收到一条错误消息,内容为“数据库中已经有一个名为‘#TempTable’的对象。”

显然,在评估条件之前,Sql 正在尝试在每种情况下创建表...?这对我来说似乎很奇怪,但是好吧......但是做这样的事情的正确方法是什么?

编辑:我在 Sql Server 中,但我怀疑这是一个更普遍的问题......但如果我错了,请告诉我。

最佳答案

为什么不使用基于集合而不是过程的解决方案:

SELECT CASE WHEN @foo is null 
THEN 'foo was null'
ELSE 'foo not null'
END AS result
INTO #TempTable

关于sql - 如何选择如何在sql中填充#temptable?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/777475/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com