Я пытаюсь понять, как в SQL Server создать таблицу со столбцом, который может быть либо нулевым, либо иметь значение. Если оно имеет значение, его необходимо ограничить существующим первичным ключом в таблице, за исключением строки, в которой хранится значение.
Нужно ли проверять ограничение? Если да, то каково выражение?
Причина в том, что объекты в таблице могут быть потомками других таблиц. В идеале я бы предпочел сделать это без таблицы сопоставления.
Имя первичного ключа - 'id'.
Столбец, который я пытаюсь ограничить, это 'parentId'. parentId МОЖЕТ быть нулевым ИЛИ ссылаться на действительный идентификатор для другой строки в таблице.