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

Откуда:
Сообщений: 23
Здравствуйте. Помогите пожалуйста решить следующую проблему. Есть таблица Operations. В нее заносятся сведения об операциях которые происходят. Нужно чтобы при выборе той или иной операции изменялись данные в таблице Libriary. Например в Libriary Есть

Стихи - В библиотеке.

Операция Выдать читателю Стихи

В библиотеке становится

Стихи - На руках


Какими средстави можно это организовать?
13 дек 15, 18:30    [18554388]     Ответить | Цитировать Сообщить модератору
 Re: Изменение статусов  [new]
SIKSMFP
Member

Откуда:
Сообщений: 23
Вот http://hkar.ru/Fv2L

К сообщению приложен файл. Размер - 18Kb
13 дек 15, 18:32    [18554393]     Ответить | Цитировать Сообщить модератору
 Re: Изменение статусов  [new]
felix_ff
Member

Откуда: Moscow
Сообщений: 1837
SIKSMFP,
Какими средстави можно это организовать?


средствами запросов Transact-SQL
13 дек 15, 18:59    [18554461]     Ответить | Цитировать Сообщить модератору
 Re: Изменение статусов  [new]
Glory
Member

Откуда:
Сообщений: 104751
SIKSMFP
Нужно чтобы при выборе той или иной операции

У MSSQL нет средств "выбора"
Выбирает клиентское приложение. И потом отсылает серверу запрос на изменение чего либо
13 дек 15, 19:12    [18554504]     Ответить | Цитировать Сообщить модератору
 Re: Изменение статусов  [new]
SIKSMFP
Member

Откуда:
Сообщений: 23
felix_ff,

Вообще это задача для erwin, но я вообще не знаю как ее реализовывать, что буду догугливать любую предложенную версию.
14 дек 15, 00:45    [18555393]     Ответить | Цитировать Сообщить модератору
 Re: Изменение статусов  [new]
Jaffar
Member

Откуда:
Сообщений: 633
SIKSMFP,

На таблицу операций вешается триггер (create trigger)
который и будет менять статусы книг в библиотеке.
Нужны триггеры на вставку и на удаление.
14 дек 15, 06:12    [18555539]     Ответить | Цитировать Сообщить модератору
 Re: Изменение статусов  [new]
felix_ff
Member

Откуда: Moscow
Сообщений: 1837
SIKSMFP,

конструкция запроса изменения статуса будет приблизительно такой:

DECLARE @OperationsID INT,
        @OperationType VARCHAR(255)
        @StatusID INT

SET @OperationsID = 1000 --здесь необходимо знать каким именно методом у вас изменяется операция (вставка/изменение/удаление строк в таблицу /хранимая процедура/триггер) в зависимости от этого @OperationsID можно начитывать по-разному

SELECT @StatusID = StatusID FROM InLib WHERE Status = CASE @OperationType
                                                          WHEN 'Выдать читателю Стихи' THEN 'На руках'
                                                          ELSE 'В библиотеке'
                                                       END


UPDATE Library
   SET StatusID = @StatusID
  FROM Library l
      JOIN Operations o ON o.LibraryID = l.LibraryID
 WHERE o.OperationsID = @OperationsID
14 дек 15, 09:49    [18555889]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить