USP_EVENT_COPYREGISTRATIONINFORMATION
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@SOURCEEVENTID | uniqueidentifier | IN | |
@TARGETEVENTID | uniqueidentifier | IN | |
@CHANGEAGENTID | uniqueidentifier | IN | |
@CURRENTDATE | datetime | IN |
Definition
Copy
create procedure dbo.USP_EVENT_COPYREGISTRATIONINFORMATION
(
@SOURCEEVENTID uniqueidentifier,
@TARGETEVENTID uniqueidentifier,
@CHANGEAGENTID uniqueidentifier = null,
@CURRENTDATE datetime = null
)
as
begin
set nocount on;
begin try
if @CURRENTDATE is null
set @CURRENTDATE = getdate();
if @CHANGEAGENTID is null
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output;
declare @REGISTRATIONSECTIONS table (OLDID uniqueidentifier, NEWID uniqueidentifier, REGISTRATIONSECTIONCODEID uniqueidentifier, SEQUENCE int);
insert into @REGISTRATIONSECTIONS (OLDID, NEWID, REGISTRATIONSECTIONCODEID, SEQUENCE)
select
ID,
newID(),
REGISTRATIONSECTIONCODEID,
SEQUENCE
from dbo.PROGRAMEVENTREGISTRATIONSECTION
where EVENTID = @SOURCEEVENTID;
insert into dbo.PROGRAMEVENTREGISTRATIONSECTION (ID, PROGRAMID, EVENTID, REGISTRATIONSECTIONCODEID, SEQUENCE, ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED)
select
NEWID,
null,
@TARGETEVENTID,
REGISTRATIONSECTIONCODEID,
SEQUENCE,
@CHANGEAGENTID, @CHANGEAGENTID, @CURRENTDATE, @CURRENTDATE
from @REGISTRATIONSECTIONS;
insert into dbo.PROGRAMEVENTREGISTRATIONSECTIONREGISTRATIONINFORMATION (ID, PROGRAMEVENTREGISTRATIONSECTIONID, REGISTRATIONINFORMATIONID, SEQUENCE, REQUIRED, ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED)
select
newID(),
REGISTRATIONSECTIONS.NEWID,
PROGRAMEVENTREGISTRATIONSECTIONREGISTRATIONINFORMATION.REGISTRATIONINFORMATIONID,
PROGRAMEVENTREGISTRATIONSECTIONREGISTRATIONINFORMATION.SEQUENCE,
PROGRAMEVENTREGISTRATIONSECTIONREGISTRATIONINFORMATION.REQUIRED,
@CHANGEAGENTID, @CHANGEAGENTID, @CURRENTDATE, @CURRENTDATE
from @REGISTRATIONSECTIONS REGISTRATIONSECTIONS
inner join dbo.PROGRAMEVENTREGISTRATIONSECTIONREGISTRATIONINFORMATION
on REGISTRATIONSECTIONS.OLDID = PROGRAMEVENTREGISTRATIONSECTIONREGISTRATIONINFORMATION.PROGRAMEVENTREGISTRATIONSECTIONID;
end try
begin catch
exec dbo.USP_RAISE_ERROR
return 1
end catch
end