SriNivas IT Ответов: 1

Проверьте ограничение в нескольких строках SQL server


Дорогие Все,
У меня есть стол, как


id	pid	per
1	1	40
2	1	60
3	2	30
4	2	40
5	2	60

и я хочу добавить ограничение, что для каждого pid(например, pid=1, то сумма per не должна быть больше 100)
как я могу добавить это ограничение?
ограничение должно быть violete для pid=2, потому что сумма per равна (30+40+60) составляет более 100.
Как я могу это сделать
заранее спасибо

Что я уже пробовал:

i want to add constraint that for each pid(e.g. pid=1 then sum of per should not be more than 100)
how can i add this constraint.
constraint should be violete for pid=2  because sum of per is (30+40+60) is more than 100.
How can i do this
Thanks in Advance

SriNivas IT

Пожалуйста, разберитесь в этом вопросе,
я была так разочарована :(

1 Ответов

Рейтинг:
6

OriginalGriff

Не. Существует контрольное ограничение, но оно не может делать сложные вещи, такие как суммирование существующих записей и сравнение со значением.

Есть три способа сделать это:
1) Сделайте это в своем программном обеспечении для презентаций, прежде чем пытаться вставить или обновить строку.
2) Сделайте это в хранимой процедуре, вместо того чтобы пытаться вставить или обновить непосредственно.
3) Используйте триггер для обнаружения превышения предельного значения.

Я бы предпочел 1, затем 2 и использовал бы 3 с неохотой.


SriNivas IT

Большое вам спасибо !!!

OriginalGriff

Пожалуйста!