[英]CREATE OR ALTER TABLE is failing with "Incorrect syntax near the keyword 'TABLE'"
我正在嘗試在數據庫中創建幾個表。
& 我使用的工具是 Azure Data Studio。
命令我正在使用它:-
CREATE OR ALTER TABLE TABLE_NAME
(
Date datetime,
Sequence nvarchar(8),
Code nvarchar(3),
)
GO
我想做的是,如果不存在則創建一個表,或者如果它存在則更改它。 我無法理解為什么它會失敗。
我們已經在 Stackover Flow 本身上提供了一些可用信息Incorrect Syntax near the keyword 'OR' in CREATE OR ALTER PROCEDURE
我們在這里create and alter
了外部表。
為什么這不起作用?
我發現表沒有 CREATE OR ALTER 語法。 它僅適用於視圖、觸發器、函數和存儲過程。
相應的 MSSQL Tiger Team 博客文章解釋了這種情況:-
CREATE OR ALTER 可用於可編程對象,例如:
- 存儲過程(包括本機編譯的)
- 函數(Transact-SQL,包括本機編譯的)
- 觸發器
- 觀點
但不能用於:需要存儲的對象(表、索引和索引視圖)
- CLR 用戶定義函數
- 已棄用的可編程性對象(RULE 和 DEFAULT)
- 非可編程對象(例如 CREATE ASSEMBLY、CREATE TABLE 或 CREATE - SCHEMA)。 在這些對象上,CREATE 和 ALTER 的語法從語法和可用性的角度來看非常不同。
相反,我們可以創建表(如果它不存在)(例如像這里一樣)或者先顯式刪除它:
DROP TABLE IF EXISTS FOO;
CREATE TABLE FOO (...)
或者
DROP TABLE IF EXISTS FOO;
GO
CREATE TABLE FOO (...)
兩者都可以正常工作。
我希望這會對社區有所幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.