2016-06-12 118 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