Вставка бизнес-логики в команды обновления
Вставка бизнес-логики в команды обновления
Прежде уже описывалось, как хранимые процедуры для специализированных команд обновления можно использовать для вставки бизнес-логики в хранимые процедуры, которые вызываются автоматически. По сравнению с прежними версиями модели 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 и проверьте работоспособность новой хранимой процедуры, т.е. корректного автоматического присвоения значений для этого поля.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
Следствия принятой логики блокирования файлов
Следствия принятой логики блокирования файлов Несмотря на всю естественность логики блокирования файлов, представленной в таблицах 3.1 и 3.2, последствия ее применения могут оказаться для вас неожиданными и вызвать на первый взгляд необъяснимые изменения в поведении
11.5. Вставка текста с помощью команды paste
11.5. Вставка текста с помощью команды paste С помощью команды cut отдельные символы и целые поля извлекаются из текстовых файлов или стандартного входного потока. Команда paste выполняет противоположное действие: она вставляет в выходной поток содержимое входных файлов. Прежде
Наборы системной логики для десктопных процессоров AMD Олег Нечай
Наборы системной логики для десктопных процессоров AMD Олег Нечай Опубликовано 27 июня 2011 года Презентация наборов системной логики 990FX, 990X и 970 состоялась 1 июня 2011 года, а первые системные платы на их основе демонстрировались тогда же, в начале июня,
4.2. Основные законы алгебры логики и правила преобразования логических выражений
4.2. Основные законы алгебры логики и правила преобразования логических выражений В алгебре логики имеются законы, которые записываются в виде соотношений. Логические законы позволяют производить равносильные (эквивалентные) преобразования логических выражений.
Наборы системной логики для процессоров Intel Олег Нечай
Наборы системной логики для процессоров Intel Олег Нечай Опубликовано 23 июня 2011 года Новая архитектура потребовала и новой логики, к тому же чипы Sandy Bridge рассчитаны на установку в собственный разъём LGA1155 и несовместимы с сокетами для предыдущего
Вероятностный процессор: триумф байесовской логики Олег Нечай
Вероятностный процессор: триумф байесовской логики Олег Нечай Опубликовано 23 августа 2010 года Инженеры американской компании Lyric Semiconductor заявили о создании технологии, способной революционно изменить привычную логическую конструкцию
Наборы системной логики для процессоров AMD Олег Нечай
Наборы системной логики для процессоров AMD Олег Нечай Опубликовано 28 июня 2010 года Самые распространённые чипсеты AMD серии 7xx для с архитектурой K10 появились на рынке уже довольно давно: первые наборы логики были представлены ещё осенью 2007 года –
Почему бизнес-ангелы в России все еще не инвесторы, а мифические существа Валентина Славина, президент НП «Бизнес-ангелы Урала»
Почему бизнес-ангелы в России все еще не инвесторы, а мифические существа Валентина Славина, президент НП «Бизнес-ангелы Урала» Опубликовано 08 февраля 2013 Боюсь, сегодня определить то, как к бизнес-ангелам относится российское общество, довольно