我想知道,在表部分創建表的臨時數據庫不同於創建哈希表。SQL臨時數據庫,臨時表和表之間的區別
創建在臨時DB
USE [tempdb]
GO
/****** Object: Table [dbo].[abc] Script Date: 2/14/2017 4:04:31 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[abc](
[id] [int] NULL,
[name] [nchar](10) NULL
) ON [PRIMARY]
GO
表創建一個哈希表
CREATE TABLE #abcd(
id INT,
name varchar(10)
)
INSERT INTO #abcd VALUES (1,'22')
難道這些表在臨時DB和哈希表一樣嗎? 我的意思是這個普通表的行爲像一個臨時表,因爲它已經在臨時數據庫中創建?
「如果它是在存儲過程中創建的,一旦它超出範圍,臨時表將按計劃清理。」 - 不知道你在這裏說什麼。在存儲過程中創建的臨時表被明確記錄爲在存儲過程返回時被刪除。 –
@Damien_The_Unbeliever好的,這是我的理解中的一個缺陷,很好知道。 – Tanner
這裏是我所指的[documentation](https://msdn.microsoft.com/en-us/library/ms174979.aspx)(查看Temporary Tables下的第一個項目符號) –