Книга: Обработка баз данных на Visual Basic®.NET
Вставка бизнес-логики в команды обновления
Вставка бизнес-логики в команды обновления
Прежде уже описывалось, как хранимые процедуры для специализированных команд обновления можно использовать для вставки бизнес-логики в хранимые процедуры, которые вызываются автоматически. По сравнению с прежними версиями модели ADO и другими моделями доступа к данным новизна заключается не во вставке логики в хранимые процедуры, поскольку эта функциональная возможность существовала и раньше. Дело в том, что эти хранимые процедуры вызываются автоматически при выполнении "пакетных" обновлений вместо явной организации вызовов в коде программы.
Для демонстрации этого подхода попробуем изменить хранимую процедуру. Предположим, что бизнес-логика определяется следующим образом: если при вставке новой записи о сотруднике значение зарплаты в поле Salary не определено или равно 0, то для него автоматически задается значение, определяемое функцией отдела. Для реализации этой бизнес-логики применим очень простой механизм: автоматически присвоенное значение будет равно произведению номера отдела и значения 10000. (Конечно, в реальных условиях компания может использовать более удачный алгоритм для указания этого значения!) Измененная хранимая процедура теперь будет выглядеть так, как показано ниже.
CREATE PROCEDURE dbo.SelectEmployees (
@FirstName varchar(50),
@LastName varchar(70),
@DepartmentID int,
@Salary money)
AS
SET NOCOUNT ON;
if (@Salary = 0 or @Salary is null) begin
-– Вычисления
set @Salary = @DepartmentID * 1000
end
INSERT INTO tblEmployee (FirstName, LastName, DepartmentID, Salary) VALUES
(@FirstName, @LastName, @DepartmentID, @Salary)
GO
НА ЗАМЕТКУ
Поскольку хранимая процедура InsertEmployee уже существует, то для ее создания в новом виде нужно удалить существующую хранимую процедуру или заменить первую строку данного сценария строкой ALTER PROCEDURE dbo.SelectEmployees. Для выполнения этого сценария можно использовать программу SQL Query Analyzer.
Теперь можно вновь запустить приложение проекта DataSetCode без внесения каких-либо изменений в его код. Попробуйте вставить в форму несколько новых записей с пустыми значениями поля Salary и проверьте работоспособность новой хранимой процедуры, т.е. корректного автоматического присвоения значений для этого поля.
- Указание команд обновления
- Вставка
- Когда нужен постскриптум в бизнес-тексте?
- Глава 4 Методы и техники бизнес-тренинга
- Глава 7 Чего нужно опасаться при моделировании бизнес-процессов. Проектные риски моделирования бизнеспроцессов
- 6.3. Содержание оценки бизнес-тренинга
- Глава 10 Информационная безопасность бизнеса
- 4. Стадии бизнес-процесса взаимодействия с клиентами
- 4.6. Техники организации знакомства участников на бизнес-тренинге
- Глава 5. Разработка и анализ бизнес-планов в системе Project Expert
- 6.2. Модели оценки бизнес-тренинга
- Глава 7. Масштабирование и автоматизация бизнеса