create procedure dbo.insert_or_update_illustration @id int out, @text nvarchar(max)
with encryption as
set @text = upper(substring(@text,1,1))+lower(substring(@text,2,len(@text)-1))
if @id is null begin -- create
-- calculate new id (or use identity)
insert into table (id, text) values (@id,@text)
-- если identity - добываем last id
end else begin -- update
update table set text=@text where id=@id
end
Дело в том, что сейчас приложения для Win в мире windows в принципе малоактуальны.
declare @path varchar(max)=N'C:\Backup\BASE_backup_'+convert(varchar(max),getdate(),102)+'-'+convert(varchar(max),getdate(),108)
То есть все проверки логической целостности, валидности, допустимости, прав - на стороне sql, а в интерфейсной части - общие валидации типа "имя должно быть задано", "в номере телефона должно быть 10 цифр" и т.п.
Это даст еще один плюс - при появлении новых аспектов - новые проверки и правки потребуются в 3-4 процедурах (если ориентироваться на Create/Read/Update/Delete или же CreateOrUpdate/Read/Delete
Ну а триггеры - удобны например при логгировании (правда есть моментики при массовых операциях)