0
我开始在一个新的项目中工作,我在C#中使用程序并使用SQL服务器。 数据库开始变得复杂一点,但没有什么可担心的,但是昨天我在堆栈溢出的某个地方找到了一种关联表的新方法。参考字SQL的不同行为
表A
CREATE TABLE tableA (
Id int NOT NULL IDENTITY(1,1),
name varchar(50),
CONSTRAINT tablea_pk PRIMARY KEY (Id))
表B
CREATE TABLE tableB (
Id int NOT NULL IDENTITY(1,1),
name varchar(50),
idA int NOT NULL REFERENCES TableA(Id) ON DELETE CASCADE,
CONSTRAINT tableB_pk PRIMARY KEY (Id))
表C
CREATE TABLE tableC (
Id int NOT NULL IDENTITY(1,1),
name varchar(50),
idB int NOT NULL,
CONSTRAINT tableC_fk_tableB FOREIGN KEY(idB)
REFERENCES tableB(Id)
ON DELETE CASCADE)
我怀疑肌酐的两种方式ng引用完全相同,唯一的区别是当您在表B中创建引用时,您没有为外键指定约束名称,因此外键的名称是随机生成的,因为我可以在sysobjects表中看到:
SELECT * FROM sysobjects WHERE name LIKE '%FK%'
的问题是:两者都做参考的工作方式完全相同?如果我创建一个约束外键,或者如果我从列的定义行引用一个PK,它是一样的吗?
我不知道这是否只能在SQL服务器上完成,或者它是SQL中的一些东西,我也试着在Google上找到它的信息,但我没有任何运气(也许是因为我不知道我在寻找什么的)