第一张表 people,它有一列 photo - uniqueidentifier。第二张是 FileTable 照片。
第一个表 (photo) 链接到第二个 (stream_id),如果照片被删除,照片列将设置为 NULL。
但是我怎样才能确保如果从 people 表中删除了一个人,照片也被删除了呢?试图以通常的方式分配外键,但不想这样做。
第一张表 people,它有一列 photo - uniqueidentifier。第二张是 FileTable 照片。
第一个表 (photo) 链接到第二个 (stream_id),如果照片被删除,照片列将设置为 NULL。
但是我怎样才能确保如果从 people 表中删除了一个人,照片也被删除了呢?试图以通常的方式分配外键,但不想这样做。
在这种情况下,正常
AFTER DELETE
触发器应该工作在这种情况下,表
photo
是FileTable这一事实没有任何作用。标准建议是反转关联:不是在人物表中指定照片 ID,而是在照片表中指定人物 ID。
如果需要保证一个人的照片不超过1张,一般去掉附加字段,通过主键链接1到0..1的两张表。