Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- CREATE PROCEDURE [dbo].[crud_tst-calendar_updateField]
- @itemID int,
- @field nvarchar(64),
- @value nvarchar(max),
- @username nvarchar(64)
- AS
- BEGIN
- -- обновление поля таблицы
- -- для приведения типов используйте try_cast(@value as int), Для даты try_convert(date, @value, 104)
- declare @start nvarchar(256), @end nvarchar(256), @additionalData nvarchar(256), @startDate datetime, @endDate datetime
- select @start = dbo.str_splitPart(@value, '||', 1)
- select @additionalData = dbo.str_splitPart(@value, '||', 2)
- select @end = dbo.str_splitPart(@additionalData, '||', 1)
- select @additionalData = dbo.str_splitPart(@additionalData, '||', 2)
- select @startDate =cast(CONVERT(datetime2, @start, 126) as datetime)
- select @endDate =cast(CONVERT(datetime2, @end, 126) as datetime)
- if(@field='event') begin
- if(@itemID>0) begin
- -- это редактирование дат элемента
- update as_events
- set start = @startDate, [end] = @endDate
- where id = @itemID and username=@username
- end else begin
- -- это добавление элемента через перетаскивание (additionalData=title||itemID от внешнего фильтра. это не itemID существующего события)
- declare @title nvarchar(128) ='', @outerItemID nvarchar(256)
- select @title = dbo.str_splitPart(@additionalData, '||', 1)
- select @outerItemID = dbo.str_splitPart(@additionalData, '||', 2)
- insert into as_events(start, [end], title, [desc], url, allDay, typeID, username)
- values (@startDate, @endDate, @title, '', '', 0, try_cast(@outerItemID as int), @username)
- end
- end else begin
- select 'Невалидный код свойства' Msg, 0 Result
- return
- end
- select '' Msg, 1 Result
- END
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement