Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 сделать запрос  [new]
Dari_18
Member

Откуда: Харьков
Сообщений: 52
Здравствуйте, подскажите как сделать запрос:

есть новость, у каждой новости есть 12 реакций, типа lol, omg, wtf, like и т.д.
юзер может за один раз токо 5 штук поставить из них
нужно заносить в бд все реакции которые он выбрал
+ id новости

Сообщение было отредактировано: 9 авг 12, 11:43
8 авг 12, 20:40    [12984349]     Ответить | Цитировать Сообщить модератору
 Re: СДЕЛАТЬ ЗАПРОС!!!!!!  [new]
Dari_18
Member

Откуда: Харьков
Сообщений: 52
create table News
(ID_reaction int primary key identity,
Reaction nvarchar (20) check (Reaction in ('like','lol','omg','wtf','AFAIK ','WYSIWYG','ROTFL','F2F ','BTF','AFAIR ','4GET','WBR ')))


create table User_
(ID_user int primary key identity,
Nick_user varchar (20),
ID_reaction int references News(ID_reaction))



но как сделать ограничение на кол-во выбранных реакций не больше 5 за один раз??
8 авг 12, 20:46    [12984360]     Ответить | Цитировать Сообщить модератору
 Re: СДЕЛАТЬ ЗАПРОС!!!!!!  [new]
Relic Hunter
Member

Откуда: AB
Сообщений: 7600
Dari_18,

TRIGGER ?
8 авг 12, 20:49    [12984369]     Ответить | Цитировать Сообщить модератору
 Re: СДЕЛАТЬ ЗАПРОС!!!!!!  [new]
Dari_18
Member

Откуда: Харьков
Сообщений: 52
Relic Hunter,
ага, то есть, иначе никак, только триггер писать? спасибо
8 авг 12, 20:51    [12984373]     Ответить | Цитировать Сообщить модератору
 Re: СДЕЛАТЬ ЗАПРОС!!!!!!  [new]
Relic Hunter
Member

Откуда: AB
Сообщений: 7600
Dari_18,

Ну можно еще АПИ заделать для таблиц и ограничить к ним доступ из вне. Теже гланды... Но я-бы сделал так.
8 авг 12, 20:54    [12984382]     Ответить | Цитировать Сообщить модератору
 Re: СДЕЛАТЬ ЗАПРОС!!!!!!  [new]
Dari_18
Member

Откуда: Харьков
Сообщений: 52
Relic Hunter,

АПи для таблиц? омг, как это? это проще чем триггер? спасбио)
8 авг 12, 20:56    [12984389]     Ответить | Цитировать Сообщить модератору
 Re: СДЕЛАТЬ ЗАПРОС!!!!!!  [new]
Relic Hunter
Member

Откуда: AB
Сообщений: 7600
Dari_18
Relic Hunter,

АПи для таблиц? омг, как это? это проще чем триггер? спасбио)
Делать CRUD через T-SQL процедуры.
8 авг 12, 20:59    [12984398]     Ответить | Цитировать Сообщить модератору
 Re: СДЕЛАТЬ ЗАПРОС!!!!!!  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
Dari_18,

У новости нет реакции. Есть реакиця пользователя-на-новость. Отношение many-to-many реализуется через дополнительную таблицу.

ЗЫ. Вам сначала в раздел "Проектирование БД".
8 авг 12, 21:10    [12984426]     Ответить | Цитировать Сообщить модератору
 Re: СДЕЛАТЬ ЗАПРОС!!!!!!  [new]
Dari_18
Member

Откуда: Харьков
Сообщений: 52
pkarklin,
я создала позде таблицу чтобы m-m не было, это учтено.
я пока проектирую триггер, но не могу понять как описать кол-во не больше 5 =((
8 авг 12, 21:11    [12984432]     Ответить | Цитировать Сообщить модератору
 Re: СДЕЛАТЬ ЗАПРОС!!!!!!  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
Dari_18
я создала позде таблицу чтобы m-m не было, это учтено.


Учитывая постановку задачи

Dari_18
юзер может за один раз токо 5 штук поставить из них
нужно заносить в бд все реакции которые он выбрал


m-to-m не может не быть.

Dari_18
я пока проектирую триггер, но не могу понять как описать кол-во не больше 5 =((


Рано, рано еще триггер проектировать. Сначала надо спроектировать модель данных.
8 авг 12, 21:16    [12984446]     Ответить | Цитировать Сообщить модератору
 Re: СДЕЛАТЬ ЗАПРОС!!!!!!  [new]
MasterZiv
Member

Откуда: Питер
Сообщений: 34705
На самом деле легче разрешить все 12 реакций одновременно, не большая проблема.
5 или 12 -- не принципиально.
9 авг 12, 01:25    [12985103]     Ответить | Цитировать Сообщить модератору
 Re: СДЕЛАТЬ ЗАПРОС!!!!!!  [new]
zanderman
Member

Откуда:
Сообщений: 166
Dari_18
за один раз токо


"За один раз токо в неделю,месяц,год..."
Думаю врядли одним кликом 5 выберешь

Relic Hunter
TRIGGER ?


А почему именно триггер, на уровне приложения обычный

UPDATE ...

с условием
9 авг 12, 03:30    [12985162]     Ответить | Цитировать Сообщить модератору
 Re: СДЕЛАТЬ ЗАПРОС!!!!!!  [new]
Relic Hunter
Member

Откуда: AB
Сообщений: 7600
zanderman
Relic Hunter
TRIGGER ?


А почему именно триггер, на уровне приложения обычный

UPDATE ...

с условием
А если кто не в курсе про "с условием"?
9 авг 12, 03:57    [12985169]     Ответить | Цитировать Сообщить модератору
 Re: СДЕЛАТЬ ЗАПРОС!!!!!!  [new]
Glory
Member

Откуда:
Сообщений: 104751
Dari_18
я пока проектирую триггер, но не могу понять как описать кол-во не больше 5

Надо в вашем клиентском приложении, в диалоге, где "юзер может за один раз токо 5 штук поставить из них" написать клиентский код, который ограничит пользователю число выбираемых элементов
9 авг 12, 10:25    [12985887]     Ответить | Цитировать Сообщить модератору
 Re: сделать запрос  [new]
Dari_18
Member

Откуда: Харьков
Сообщений: 52
Glory,

спасибо
9 авг 12, 11:48    [12986550]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить