2013-02-23 17 views
0

模式+表名。執行一個原始的SQL命令,當我像執行一個SQL語句總是需要在SQL Management Studio中

當我在我的SQL Server 2012 Management Studio中也執行該語句:

Delete From User 

這是行不通的。這在以前的管理工作室版本中從來不是問題,但爲什麼現在呢?

該數據庫是由實體框架代碼第一種方法創建的。

+0

「不起作用」是什麼意思?你有沒有解釋信息? – usr 2013-02-23 19:13:12

+0

工作意味着表中的數據被刪除。不工作意味着查詢沒有執行,因爲有錯誤。 – Elisabeth 2013-02-23 20:47:13

+0

**這些錯誤是什麼?**您會考慮提供這些信息嗎? – usr 2013-02-23 20:54:19

回答

1

User是一個關鍵字。這就是爲什麼您會收到以下錯誤

Incorrect syntax near the keyword 'User'. 

當您運行

Delete From User 

Delete From [User] 
Delete From "User" -- if QUOTED_IDENTIFIER is ON > SET QUOTED_IDENTIFIER ON 

是不同的東西,因爲這個時候,對象名稱(表名的原因這種情況 - 用戶)由括號([object name] - SQL Server/Access特定)或引號("object name" - ANSI SQL)分隔。這一次,單詞[User]被認爲是對象標識符(例如表名)。

參考文獻:Database identifiers

標識符不能是Transact-SQL保留字。

注意:這與SSMS無關。