2016-06-12 170 views
0

我試圖下面執行這個查詢表錯誤,但是,在SQL Server返回此錯誤:SQL Server 2008中創建

Incorrect syntax definition of constraint ' TABLE'

這裏,因爲他們錯誤

create table Vendedor 
(
    Vend_idVendedor int identity, 
    Vend_Nome VARCHAR(45) not null, 
    Vend_CPF int not null, 
    Vend_Cargo VARCHAR(15) not null, 
    Vend_Salario FLOAT not null, 
    Vend_Telefone INT not null, 
    Vend_Celular INT not null, 
    Vend_Admissao DATE not null, 

    constraint PK_Vend_idVend primary key (Vend_idVendedor), 

    constraint CK_Vend_CPF check(len(Vend_CPF) = 11), 
    constraint CK_Vend_Tel check(len(Vend_Telefone) = 10), 
    constraint CK_Vend_Cel check(len(Vend_Celular) = 11), 

    constraint UQ_Vend_CPF unique(Vend_CPF), 
    constraint UQ_Vend_Cel unique(Vend_Celular), 

    constraint CK_Vend_Adm check(Vend_Admissao >= '2016-01-02' and Vend_Admissao <= getdate()) 
) 

回答

1

查詢的一部分上述說法沒有錯。它在我的SQL 2008 R2 Dev上創建了一個表。

檢查前面的語句中的錯誤。

如果你在SSMS中工作,你可以嘗試在你的語句之前和之後添加一個批分隔符(GO)來隔離它。分號(;)也可能有幫助。

+0

謝謝亞歷克斯,現在我得到「數據庫中已經有一個名爲'int'的對象」 – lipesmile

+0

正如我所說的,錯誤不在您發佈的代碼中。如果我看不到代碼,我不可能猜測錯誤的位置和內容。錯誤告訴我的唯一的事情就是你正試圖創建一個名爲「int」的對象(SP,函數或表),並且它已經存在於數據庫中。你需要發佈一個完整的代碼示例(如果它不是太大)或者自己找到錯誤。如果您正在使用SSMS,您應該看到錯誤消息旁邊的行號(它並不總是顯示正確的行),如果您雙擊錯誤消息,它會將您帶到該行。 – Alex

+0

您也可以嘗試使用Google搜索錯誤消息來查找其含義。 – Alex