sql判斷臨時表
Ⅰ sql判斷臨時表是否存在
1、判斷數據表是否存在
方法一:
use yourdb;
go
if object_id(N'tablename',N'U') is not null
print '存在'
else
print '不存在'
例如:
use fireweb;
goif object_id(N'TEMP_TBL',N'U') is not null
print '存在'
else
print '不存在'
方法二:
USE [實例名]
GO
IF EXISTS (SELECT * FROM dbo.SysObjects WHERE ID = object_id(N'[表名]') AND OBJECTPROPERTY(ID, 'IsTable') = 1)
PRINT '存在'
ELSE
PRINT'不存在'
例如:
use fireweb;
goIF EXISTS (SELECT * FROM dbo.SysObjects WHERE ID = object_id(N'TEMP_TBL') AND OBJECTPROPERTY(ID, 'IsTable') = 1)
PRINT '存在'
ELSE
PRINT'不存在'
2、臨時表是否存在:
方法一:
use fireweb;
goif exists(select * from tempdb..sysobjects where id=object_id('tempdb..##TEMP_TBL'))
PRINT '存在'
ELSE
PRINT'不存在'
方法二:
use fireweb;
goif exists (select * from tempdb.dbo.sysobjects where id = object_id(N'tempdb..#TEMP_TBL') and type='U')
PRINT '存在'
ELSE
PRINT'不存在'
Ⅱ SQL如何把查詢出來的多個表創建成一個臨時表
SELECT * INTO #TEMPTABLENAME
FROM
(
SELECT xxxxxx //你的查詢語句
)AS table_source //這個別名是必須的
WHERE xxxxxxxx //你需要的where判斷;
COMMIT或ROLLBACK後可自動刪除該臨時表
1、sql server使用select into會自動生成臨時表,判賀不需要事先創建。
select * into #temp from sysobjects
2、sql要把多個表合並成一個要用到union或union all的關鍵字。
3、union或union all的區別是:union會自動壓縮多個結果集合中的大衫重復結果,而union all則將所有的結果全部顯示出來。
(2)sql判斷臨時表擴展閱讀
sql語言特點如下:
1、一體化:SQL集數據定義DDL、數據操縱DML和數據控制DCL於一體,可以完成資料庫中的全部工作。
2、使用方式靈活:它具有兩種使用方式,即可以直接以命令方式交互使用;也可以嵌入使用,嵌入到C、C++、FORTRAN、COBOL、JAVA等主語言中使用。
3、語言簡潔,語法滾沖腔簡單,好學好用:在ANSI標准中,只包含了94個英文單詞,核心功能只用6個動詞,語法接近英語口語。
Ⅲ sql語句 判斷表是否存在
IF EXISTS(SELECT name FROM [sysobjects] WHERE name = '表名')
PRINT '該表存在'
ELSE
PRINT '該表不存在'。
Ⅳ SQL如何將這一查詢結果放到臨時表#TEMP中
一、首先要建臨時表:CREATE TABLE #TEMP --建臨時表,表中的欄位的數據類型跟要插入數據的查詢結果對應的欄位數據類型要一致。
二、插入數據:INSERT INTO #TEMP,臨時表的欄位和查詢中的欄位對應要處理好。
另:
通常在建臨時表前會判斷臨時表是否存在:
IF Object_id('Tempdb..#TEMP') IS NOT NULL
DROP TABLE #TEMP --如果有存在就刪除臨時表
還有就是用完即刪:DROP TABLE #TEMP