我有一個臨時表,我想通過這個臨時表創建一個臨時視圖。從SQL Server中的臨時表創建臨時視圖
可能嗎?
在下面的例子中,我想#Top10Records
是一個視圖而不是表,讓我得到
select * into #Top10Records from (select top 10 * from #MytempTable)
我有一個臨時表,我想通過這個臨時表創建一個臨時視圖。從SQL Server中的臨時表創建臨時視圖
可能嗎?
在下面的例子中,我想#Top10Records
是一個視圖而不是表,讓我得到
select * into #Top10Records from (select top 10 * from #MytempTable)
您可以使用公用表表達式來做到這一點:
WITH Top10Records AS
(
select top 10 * from #MytempTable
)
SELECT * FROM Top10Records
GO
不幸的是, SQL Server不支持:
Msg 4103,Level 15,State 1,Line 3
「#someView」:不允許臨時視圖。
消息4508,級別16,狀態1,行6
臨時表上不允許使用視圖或函數。以'#'開頭的表名稱 表示臨時表。
+1這可能是最優雅的解決方法 - 良好的迴應 –
當然,這隻適用於CTE之後的單一語句。我們不知道OP是否打算使用跨多個語句的臨時視圖。 –
它的目的是多次使用,因爲#MytempTable將總是改變 – Thunder