Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- DECLARE @csXml XML
- , @changeStatus XML
- , @tNum NVARCHAR(25) = '0001aa17'
- SELECT @csXml = ChangeSet
- FROM [Issues]
- WHERE [TrackingNumber] = @tNum
- SET @changeStatus =
- (
- SELECT NEWID() AS [@id]
- , 'me@sample.com' AS [@by]
- , '1E910737-D78C-E711-9C04-00090FFE0001' AS [@byAccountId]
- , '2018-01-18T18:39:03.220Z' AS [@when]
- , 'Status' AS [property/@id]
- , 'Status' AS [property/@name]
- , 'In Review' AS [property/@old]
- , 'Closed' AS [property/@new]
- , '' AS [collections]
- FOR XML PATH('change')
- );
- -- Add node to XML...
- SET @csXml.modify(N'declare default element namespace "http://www.sample.com/ChangeSet/2017/09";
- insert sql:variable("@changeStatus") as last into (/changes)[1]');
- SET @ParamDef = N'@TrackingNumber NVARCHAR(25)
- , @ChangeSet XML';
- SET @sql = 'EXEC [SaveIssue] @TrackingNumber, @ChangeSet';
- EXEC [sys].[sp_executesql] @sql
- , @paramDef
- , @TrackingNumber = @tNum
- , @ChangeSet = @csXml;
- CREATE PROCEDURE [SaveIssue]
- ( @TrackingNumber NVARCHAR(25)
- , @ChangeSet XML(DOCUMENT Reference.sample) = N'<changes xmlns="http://www.sample.com/ChangeSet/2017/09" />'
- )
- AS
- BEGIN
- ...
- END
Add Comment
Please, Sign In to add comment