Таблица. Обновление полей при редактировании данных

Меняем цену у строки - это влияет на столбец Стоимость и на подвал таблицы. 

GetItem таблицы (данные просто создаем для примера во времеменной таблице): 

CREATE PROCEDURE [dbo].[crud_watch_updateField_getItems]
	@filters CRUDFilterParameter READONLY,  
	@sort sql_variant,
	@direction nvarchar(8),
	@page int,
	@pageSize int,
	@username nvarchar(32)
AS
BEGIN
	declare   @t TABLE (id int, price int, [count] int)
    
    insert into @t
   	select 1, 10, 3
   	union 
    select 2, 20, 5
   	union 
    select 3, 30,1
   	union 
    select 4, 40,2
   	union 
    select 5, 50,2
   	union 
    select 6, 60,1
     	
	-- SELECT 1
	select 
		isnull([id], 0) [id],
		isnull([price],0) [price],
		isnull([count], 0) [count],
		isnull(price * [count], 0) [total]
	from @t
	
	-- SELECT 2
	select 6	

	-- SELECT 3
    select 1 HideTitleCount, 'h3' headerTag
	-- 4 SELECT Footer data or kanban/gantt data
	select '' p1, 'ИТОГО' p2, (select sum([count]*price) from @t) p3 
END

UpdateItem (само сохненение не делаем. Упор на SELECT 3):

CREATE PROCEDURE [dbo].[crud_watch_updateField_updateField]
	@itemID int,
	@field nvarchar(64),
	@value nvarchar(max),
	@username nvarchar(64)
AS
BEGIN
    -- SELECT 1
    select '' Msg, 1 Result	
    -- SELECT 2 
    select 1 
    -- SELECT 3 Обновляемые столбцы (когда надо изменить другие столбцы или футер таблицы)
    Select 'total' [Key], 'XXXXXXXXXX' Value  -- обновляем в нашей строке поле с кодом total
    union
    Select 'footer-total' [Key], 'YYYYYYY' Value  -- обновляем в футере поле с кодом total
END

 

Насколько полезна эта возможность?

Другие модули

Последние обновления

Платформа Falcon Space

Это снижение стоимости владения

за счет меньшего количества людей для поддержки

Это быстрое внесение изменений

по ходу эксплуатации программы

Это современный интерфейс

полная адаптация под мобильные устройства

Сайт использует Cookie. Правила конфиденциальности OK