我有一個表中有一個由系統生成的名字空間。用名字空間替換表
我試圖改變表名來刪除空間,以便它可以通過預先存在的庫進行處理。
我想:
ALTER TABLE 'My Table'
RENAME TO 'MyTable';
我也曾嘗試雙引號,沒有運氣。
任何指針?
我有一個表中有一個由系統生成的名字空間。用名字空間替換表
我試圖改變表名來刪除空間,以便它可以通過預先存在的庫進行處理。
我想:
ALTER TABLE 'My Table'
RENAME TO 'MyTable';
我也曾嘗試雙引號,沒有運氣。
任何指針?
[這不適用於MS-Access。 Access無法重命名錶。尚不清楚,如果應用到MS Access原來的問題]
方括號:。
ALTER TABLE [My Table]
RENAME TO [MyTable];
方括號不能包含整個對象的「路徑」,因此,這將不起作用:
ALTER TABLE [MyDatabase.dbo.My Table]
但這種意志
ALTER TABLE [MyDatabase].[dbo].[My Table]
正確,表格不能從SQL在MS Access重命名。我不確定原始的「訪問」標籤是指產品還是泛型活動。問題被編輯以添加MS-Access。 –
[My Table]
你可以在SQL中使用方括號來解決這個問題。
它有很多功能,你可以在表中使用關鍵字,把空間和時間的表名或模式等
例如,你可以有模式[Work.Employees]
。用方括號表示[Work.Employees].Addresses
(模式,表格)。但是,如果您忘記括號,它將嘗試查找數據庫工作 - >模式員工 - >表地址。
但是,總體上是好的做法,以避免做任何上述:)的
這是那些東西,一個是很多更容易使用Access GUI實現!
要在SQL DDL中執行同樣的操作,您必須「克隆」表,您必須已知所有屬性名稱,類型,約束等信息,注意它可能具有無法通過SQL DDL創建的功能例如驗證規則。然後你需要使用原始表格填充它。你放棄原來的。唷!
對於MySQL,單引號,雙引號或括號不適用於我。只有反引號(aka backquotes)有效。
所以,試試這個:
ALTER TABLE `My Table`
RENAME TO MyTable;
'ALTER TABLE [我表]'... –