declare @ownerId int = ; declare @ownerType varchar(3) = ; declare @campaignId int = ; declare @userId int = ; declare @now datetime = ; insert into tbl_EML_Campaign ( ownerId, fsl_tablecode, campaignType, name, emailSubject, emailFrom, emailFromDisplay, UseInternalContact, emailMessage, includeUnsubscribe, targetListId, message1Default, message2Default, emailManagerVersion, emailMessageEditorContent, emailEditorType, creator_member_id, creator_typ, createDate, updateUserId, lastUpdatedDate, statusCd, gtmCampaignId ) select ownerId, fsl_tablecode, '#_campaign.campaignCopyType#' campaignType as campaignType, '#_campaign.campaignCopyName#' left( name, 68 ) + ' - COPY' as newName, emailSubject, emailFrom, emailFromDisplay, UseInternalContact, emailMessage, includeUnsubscribe, targetListId, message1Default, message2Default, emailManagerVersion, emailMessageEditorContent, emailEditorType, @userId, 'FSP', @now, @userId, @now, 'PEN', #_campaign.gtmCampaignId#null gtmCampaignId from tbl_EML_Campaign where ownerId = @ownerId and fsl_tablecode = @ownerType and campaignId = @campaignId select @@identity as newCampaignId; insert into tbl_EML_CampaignGroupLnk( campaignId, groupId ) select #_newCampaignId#, gcl.groupId from tbl_EML_CampaignGroupLnk gcl inner join tbl_SEC_Groups g -- just copy those that exist on g.groupId = gcl.groupId where campaignId =