2017-09-18 83 views
0

我有兩個不同的數據庫,一個是視圖,另一個是空的。 我需要在數據庫中使用視圖在空數據庫中創建表。從另一個數據庫的視圖創建表格

需要每隔20秒從視圖更新一次。 空的DB可能會是SQL-Server。

我該怎麼做?

感謝,

塔爾

+1

要每隔20秒從視圖更新一次?聽起來效率低下。 – sagi

+0

編寫一個程序來完成所有的INSERT語句。然後將該proc每20秒添加到一個作業[執行重複](https://docs.microsoft.com/en-us/sql/ssms/agent/schedule-a-job)。 – JNevill

回答

1

我不完全明白究竟你正在嘗試做的。

但對於這一部分:

我需要從數據庫空DB與意見,以創建表。

您可以使用INTO這樣的:

SELECT * INTO new_table FROM yourView; 

因此,這將在SELECT語句複製相同的列,並從它創建一個新表。

但是沒有必要每隔幾秒就做一次。也許你需要在每個時間間隔後同步數據。這可以通過sql作業完成。

UPDATE:

如果表和視圖都在不同的服務器上,你必須使用一個fully qualified table name。但首先你必須在兩臺服務器之間創建一個linked server

SELECT * INTO [servername].Database.new_table FROM yourView; 
+0

如果每個DB在不同的服務器上? – tal

+0

@tal - 只需使用完全限定的表名。 –

+0

我不明白你可以給我一個例子嗎? – tal

相關問題