gpt4 book ai didi

sql - 删除临时表(如果存在)

转载 作者:行者123 更新时间:2023-12-03 01:36:22 25 4
gpt4 key购买 nike

friend 们,

我正在创建一个临时表。该脚本可能会运行多次,因此我需要检查临时表是否存在然后删除它。我编写了下面的代码,但运行脚本两次时出现错误,该表已存在:

数据库中已有一个名为“#lu_sensor_name_19”的对象

当表不为空时,IF OBJECT_ID('alarm..#lu_sensor_name_19') IS NOT NULL 似乎不会返回 true。我做错了什么?

IF OBJECT_ID('alarm..#lu_sensor_name_19') IS NOT NULL 
BEGIN
DROP TABLE #lu_sensor_name_19
END

CREATE TABLE #lu_sensor_name_19(
sensorname_id int NOT NULL,
sensorname nvarchar(50) NOT NULL,
paneltype_id smallint NOT NULL,
panel_version_id int NULL,
prefix_allowed tinyint NOT NULL,
base_allowed tinyint NOT NULL,
suffix_allowed tinyint NOT NULL,
key_value int NULL,
sort_index int NULL,
device_allowed tinyint NOT NULL,
sensor_name_group_id smallint NOT NULL,
)

最佳答案

Temp #表是在 tempdb 中创建的。试试这个:

IF OBJECT_ID('tempdb..#lu_sensor_name_19') IS NOT NULL 
BEGIN
DROP TABLE #lu_sensor_name_19
END

CREATE TABLE #lu_sensor_name_19...

SQL Server 2016 添加了在一行中执行删除的功能:

DROP TABLE IF EXISTS #lu_sensor_name_19 

CREATE TABLE #lu_sensor_name_19...

关于sql - 删除临时表(如果存在),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25891416/

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