Реферат: Перенос приложений MIDAS с одной СУБД на другую

into @doc_id, @from_id, @to_id

while @@fetch_status = 0

begin

select @from_name = '', @to_name = ''

exec client_full_name @from_id, @from_name output

exec client_full_name @to_id, @to_name output

--заполняем поля, которых нет в основной таблице

update pDoc_List

set from_name = @from_name,

to_name = @to_name

where SPID = @@spid

and doc_id = @doc_id

fetch next from list_docs

into @doc_id, @from_id, @to_id

end

close list_docs

deallocate list_docs

go

SQL-запрос, исполняемый на сервере приложений для передачи данных клиенту:

exec list_doc @from_date = :from_date, @to_date = :to_date

select * from pDoc_List where SPID = @@spid

ПРИМЕЧАНИЕ

При написании ХП следует обратить особое внимание на одновременную работу нескольких пользователей. Необходимо минимизировать влияние "тяжелых" (отчетных) процедур на работу клиентов (один из вариантов был показан выше).

Триггеры

Тут ничего сложного нет, необходимо только помнить, что триггеры в MSSQL запускаются только после действия (есть еще вместо (instead of), но это только в MSSQL2000).

Пример: предотвращение удаления клиента, если существуют документы с его участием (чтобы такой триггер не конфликтовал с ограничением ссылочной целостности, в MSSQL необходимо убрать foreign key с таблицы doc_title на client)

create trigger CLIENT_BEFORE_DELETE for CLIENT

before delete

as

К-во Просмотров: 375
Бесплатно скачать Реферат: Перенос приложений MIDAS с одной СУБД на другую