Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Ограничение... / 6 сообщений из 6, страница 1 из 1
12.12.2007, 10:08
    #35003220
Compositum
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ограничение...
Код такой:
Код: plaintext
1.
2.
3.
4.
5.
6.
--Дерево библиотеки материалов
Create table lib.TreeMaterials
(treeMaterialID			int identity		primary key		not null,
treeMaterialName		varchar( 255 )					not null,
treeMaterialFather		int						null)
go
В данной таблице хочу предусмотреть такое ограничение:
значение treeMaterialFather должно быть либо Null, либо равно одному из значений поля treeMaterialID.
Как это лучше сделать?
...
Рейтинг: 0 / 0
12.12.2007, 10:11
    #35003231
Compositum
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ограничение...
Код: plaintext
1.
2.
constraint TreeMaterials_treeMaterialFather check(treeMaterialFather=Null 
or treeMaterialFather in (select treeMaterialID from TreeMaterials))
что-то вроде такого. но ведь так нельзя делать...
...
Рейтинг: 0 / 0
12.12.2007, 10:20
    #35003260
Compositum
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ограничение...
вернее что-то вроде этого:
Код: plaintext
1.
2.
constraint TreeMaterials_treeMaterialFather check(isnull(treeMaterialFather,True)
or (treeMaterialFather in (select treeMaterialID from TreeMaterials) and treeMaterialFather<>treeMaterialID))
проблема в том, что Вложенные запросы в данном контексте не разрешены. Допускаются только скалярные выражения .
...
Рейтинг: 0 / 0
12.12.2007, 10:24
    #35003270
Akni
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ограничение...
реализуйте это не через constraint, а через Foreign Key
...
Рейтинг: 0 / 0
12.12.2007, 10:28
    #35003288
Compositum
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ограничение...
Akniреализуйте это не через constraint, а через Foreign Key
тут проблема.. некоторые записи будут иметь в поле treeMaterialFather значение null...
как с этим быть?
...
Рейтинг: 0 / 0
12.12.2007, 10:29
    #35003296
Compositum
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ограничение...
млин... хотя... это вроде не должно помешать... торможу..
...
Рейтинг: 0 / 0
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Ограничение... / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]