select * into #临时表3 from 数据资料表
运行后显示:
消息 2714,级别 16,状态 6,第 1 行
数据库中已存在名为 '#临时表3' 的对象。
6 个解决方案
#1
mysql的下列语法在 MS-SQL Server中不行:
CREATE TABLE #临时表3 SELECT * from 数据资料表
CREATE TABLE #临时表3 SELECT * from 数据资料表
#2
在查询窗口反复执行了这个语句就会这样,drop table #临时表3 执行下就可以了。
#3
--通常的做法
--事前检查并删除,不必要,只是防止你原来的不正确写法有遗留吧,
--加了也无妨,万无一失吧
IF OBJECT_ID('tempdb..#tmp') IS NOT NULL
DROP TABLE #tmp
--select into 插入
SELECT *
INTO #tmp
FROM MASTER.dbo.spt_values AS sv
--用完清除
DROP TABLE #tmp
#4
可以在插入之前判断一下,如果存在就删除。
#5
#6
同一会话时检查是会报错的,如下:
会出现错误
处理方法:定义临时表名不相同
SELECT 1 AS ID INTO #1
DROP TABLE #1
SELECT 1 AS ID INTO #1
会出现错误
消息 2714,级别 16,状态 1,第 5 行
数据库中已存在名为 '#1' 的对象。
处理方法:定义临时表名不相同
#1
mysql的下列语法在 MS-SQL Server中不行:
CREATE TABLE #临时表3 SELECT * from 数据资料表
CREATE TABLE #临时表3 SELECT * from 数据资料表
#2
在查询窗口反复执行了这个语句就会这样,drop table #临时表3 执行下就可以了。
#3
--通常的做法
--事前检查并删除,不必要,只是防止你原来的不正确写法有遗留吧,
--加了也无妨,万无一失吧
IF OBJECT_ID('tempdb..#tmp') IS NOT NULL
DROP TABLE #tmp
--select into 插入
SELECT *
INTO #tmp
FROM MASTER.dbo.spt_values AS sv
--用完清除
DROP TABLE #tmp
#4
可以在插入之前判断一下,如果存在就删除。
#5
#6
同一会话时检查是会报错的,如下:
会出现错误
处理方法:定义临时表名不相同
SELECT 1 AS ID INTO #1
DROP TABLE #1
SELECT 1 AS ID INTO #1
会出现错误
消息 2714,级别 16,状态 1,第 5 行
数据库中已存在名为 '#1' 的对象。
处理方法:定义临时表名不相同