spAddUpdate_ConditionBlock
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@PKID | int | INOUT | |
@Name | nvarchar(50) | IN | |
@Deleted | bit | IN | |
@ConditionBlockConditions | xml | IN |
Definition
Copy
CREATE PROCEDURE [dbo].[spAddUpdate_ConditionBlock]
(
@PKID int output,
@Name nvarchar(50),
@Deleted bit,
@ConditionBlockConditions XML
)
AS
BEGIN
IF (@PKID <= 0)
BEGIN
INSERT INTO [dbo].[ConditionBlock]
(
[Name],
[Deleted]
)
VALUES
(
@Name,
@Deleted
)
SELECT @PKID = SCOPE_IDENTITY()
END
ELSE
BEGIN
UPDATE [dbo].[ConditionBlock] SET
[Name] = @Name,
[Deleted] = @Deleted
WHERE [ID] = @PKID
END
-- Handle @ConditionBlockConditions
DELETE FROM [dbo].[ConditionBlockCondition]
WHERE [ConditionBlockID] = @PKID
INSERT [dbo].[ConditionBlockCondition]
([ConditionBlockID], [ConditionID], [Priority])
SELECT
@PKID,
cbc.c.value('@ID', 'int'),
cbc.c.value('@Priority', 'int')
FROM @ConditionBlockConditions.nodes('/ConditionBlockConditions/Condition') cbc(c)
END