spAddUpdate_SitePolls
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@PKID | int | INOUT | |
@CurrentUsersID | int | IN | |
@ClientSitesID | int | IN | |
@SiteContentsID | int | IN | |
@LinkText | nvarchar(256) | IN | |
@Question | nvarchar(256) | IN | |
@AttributeTypesID | int | IN | |
@RandomizeAnswers | bit | IN | |
@XML | ntext | IN |
Definition
Copy
CREATE PROCEDURE [dbo].spAddUpdate_SitePolls (
@PKID int OUTPUT,
@CurrentUsersID int,
@ClientSitesID int,
@SiteContentsID int,
@LinkText nvarchar(256),
@Question nvarchar(256),
@AttributeTypesID int,
@RandomizeAnswers bit,
@XML ntext
)
AS
BEGIN TRAN T1
declare @sql_error as int
if (@PKID<=0) begin
INSERT INTO SitePolls (
ClientSitesID,
ID,
LinkText,
Question,
AttributeTypesID,
RandomizeAnswers)
VALUES (
@ClientSitesID,
@SiteContentsID,
@LinkText,
@Question,
@AttributeTypesID,
@RandomizeAnswers)
SELECT @sql_error = @@ERROR
SELECT @PKID = @SiteContentsID
end
else begin
UPDATE SitePolls
SET Question = @Question,
RandomizeAnswers = @RandomizeAnswers,
AttributeTypesID = @AttributeTypesID,
LinkText = @LinkText
WHERE ID = @PKID
SELECT @sql_error = @@ERROR
end
if @sql_error = 0 begin
DELETE FROM SitePollAnswers WHERE SitePollsID = @PKID
IF @@ERROR <> 0 ROLLBACK TRAN T1
DECLARE @idoc int
EXEC sp_xml_preparedocument @idoc OUTPUT, @XML
INSERT INTO SitePollAnswers
(SitePollsID, SeqNbr, Answer)
SELECT
@PKID,
SequenceNbr,
Answer
FROM OPENXML (@idoc, '/Polls/Answer', 1) with (SequenceNbr int, Answer nvarchar(256))
IF @@ERROR <> 0 ROLLBACK TRAN T1
EXEC sp_xml_removedocument @idoc
COMMIT TRAN T1
end