2011-10-05 28 views
2

我有一個表中有一個由系統生成的名字空間。用名字空間替換表

我試圖改變表名來刪除空間,以便它可以通過預先存在的庫進行處理。

我想:

ALTER TABLE 'My Table' 
RENAME TO 'MyTable'; 

我也曾嘗試雙引號,沒有運氣。

任何指針?

+0

'ALTER TABLE [我表]'... –

回答

7

[這不適用於MS-Access。 Access無法重命名錶。尚不清楚,如果應用到MS Access原來的問題]

方括號:。

ALTER TABLE [My Table] 
RENAME TO [MyTable]; 

方括號不能包含整個對象的「路徑」,因此,這將不起作用:

ALTER TABLE [MyDatabase.dbo.My Table] 

但這種意志

ALTER TABLE [MyDatabase].[dbo].[My Table] 
+0

正確,表格不能從SQL在MS Access重命名。我不確定原始的「訪問」標籤是指產品還是泛型活動。問題被編輯以添加MS-Access。 –

0

[My Table]

你可以在SQL中使用方括號來解決這個問題。

它有很多功能,你可以在表中使用關鍵字,把空間和時間的表名或模式等

例如,你可以有模式[Work.Employees]。用方括號表示[Work.Employees].Addresses(模式,表格)。但是,如果您忘記括號,它將嘗試查找數據庫工作 - >模式員工 - >表地址。

但是,總體上是好的做法,以避免做任何上述:)的

0

這是那些東西,一個是很多更容易使用Access GUI實現!

要在SQL DDL中執行同樣的操作,您必須「克隆」表,您必須已知所有屬性名稱,類型,約束等信息,注意它可能具有無法通過SQL DDL創建的功能例如驗證規則。然後你需要使用原始表格填充它。你放棄原來的。唷!

2

對於MySQL,單引號,雙引號或括號不適用於我。只有反引號(aka backquotes)有效。

所以,試試這個:

ALTER TABLE `My Table` 
RENAME TO MyTable;