Tsql 在t-sql中的用户定义表中定义约束时出错
我正在尝试创建一个用户定义的表类型,我想在其中定义外键和唯一键约束,但我无法这样做。每当我运行以下命令时,就会出现错误“关键字“CONSTRAINT”附近的语法不正确” 请有人告诉我代码出了什么问题Tsql 在t-sql中的用户定义表中定义约束时出错,tsql,user-defined-types,Tsql,User Defined Types,我正在尝试创建一个用户定义的表类型,我想在其中定义外键和唯一键约束,但我无法这样做。每当我运行以下命令时,就会出现错误“关键字“CONSTRAINT”附近的语法不正确” 请有人告诉我代码出了什么问题 create Type firstType as Table ( firstId int IDENTITY (1,1)CONSTRAINT PK_firstId PRIMARY KEY CLUSTERED (firstId), f_email varchar(200) CONSTRA
create Type firstType as Table
(
firstId int IDENTITY (1,1)CONSTRAINT PK_firstId PRIMARY KEY CLUSTERED (firstId),
f_email varchar(200) CONSTRAINT AK_email UNIQUE(f_email) ,
fname varchar(100),
outId int CONSTRAINT FK_First FOREIGN KEY (outId) REFERENCES New(newId)
ON DELETE CASCADE
ON UPDATE CASCADE
)
表类型不能有命名约束,也不能有外键。 它可能只有未命名的主键、唯一键和检查约束。 有关详细信息,请参阅 您可以改为使用此选项:
CREATE Type firstType as Table
(
firstId int IDENTITY (1,1) PRIMARY KEY CLUSTERED (firstId),
f_email varchar(200) UNIQUE(f_email) ,
fname varchar(100),
outId int
)
不支持外键约束。支持的约束包括主键、唯一和检查。有关表的详细信息,请参阅创建表(Transact-SQL)。“不正确的语法通常意味着您忘记了逗号。我认为您必须在constraint关键字之前添加逗号。表类型@LittleSoap不支持该语法,这就是为什么它们会出现语法错误;对象类型的语法无效。为什么要在
类型
而不是持久表中创建所有这些?下面是类型的语法。。。