USP_MKTRECORDSOURCEMEMBER_LOAD
Returns the name and address information for a marketing constituent.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | nvarchar(36) | IN | |
@RECORDSOURCEID | uniqueidentifier | IN | |
@TABLEORVIEWNAME | nvarchar(255) | IN | |
@PRIMARYKEYNAME | nvarchar(255) | IN |
Definition
Copy
CREATE procedure dbo.[USP_MKTRECORDSOURCEMEMBER_LOAD]
(
@ID nvarchar(36),
@RECORDSOURCEID uniqueidentifier,
@TABLEORVIEWNAME nvarchar(255),
@PRIMARYKEYNAME nvarchar(255)
)
as
set nocount on;
--These represent the mapped fields
declare @FULLNAMEFIELDNAME nvarchar(255);
declare @FIRSTNAMEFIELDNAME nvarchar(255);
declare @MIDDLENAMEFIELDNAME nvarchar(255);
declare @LASTNAMEFIELDNAME nvarchar(255);
declare @TITLEFIELDNAME nvarchar(255);
declare @SUFFIXFIELDNAME nvarchar(255);
declare @COUNTRYFIELDNAME nvarchar(255);
declare @ADDRESSLINE1FIELDNAME nvarchar(255);
declare @ADDRESSLINE2FIELDNAME nvarchar(255);
declare @ADDRESSLINE3FIELDNAME nvarchar(255);
declare @ADDRESSLINE4FIELDNAME nvarchar(255);
declare @ADDRESSLINE5FIELDNAME nvarchar(255);
declare @CITYFIELDNAME nvarchar(255);
declare @STATEFIELDNAME nvarchar(255);
declare @POSTCODEFIELDNAME nvarchar(255);
declare @CARTFIELDNAME nvarchar(255);
declare @DPCFIELDNAME nvarchar(255);
declare @LOTFIELDNAME nvarchar(255);
declare @PHONENUMBERFIELDNAME nvarchar(255);
declare @EMAILADDRESSFIELDNAME nvarchar(255);
declare @FIRSTGIFTDATEFIELDNAME nvarchar(255);
--Grab the field names
select
@FULLNAMEFIELDNAME = [FULLNAMEFIELD],
@FIRSTNAMEFIELDNAME = [FIRSTNAMEFIELD],
@MIDDLENAMEFIELDNAME = [MIDDLENAMEFIELD],
@LASTNAMEFIELDNAME = [LASTNAMEFIELD],
@TITLEFIELDNAME = [TITLEFIELD],
@SUFFIXFIELDNAME = [SUFFIXFIELD],
@COUNTRYFIELDNAME = [COUNTRYFIELD],
@ADDRESSLINE1FIELDNAME = [ADDRESSLINE1FIELD],
@ADDRESSLINE2FIELDNAME = [ADDRESSLINE2FIELD],
@ADDRESSLINE3FIELDNAME = [ADDRESSLINE3FIELD],
@ADDRESSLINE4FIELDNAME = [ADDRESSLINE4FIELD],
@ADDRESSLINE5FIELDNAME = [ADDRESSLINE5FIELD],
@CITYFIELDNAME = [CITYFIELD],
@STATEFIELDNAME = [STATEFIELD],
@POSTCODEFIELDNAME = [POSTCODEFIELD],
@CARTFIELDNAME = [CARTFIELD],
@DPCFIELDNAME = [DPCFIELD],
@LOTFIELDNAME = [LOTFIELD],
@PHONENUMBERFIELDNAME = [PHONENUMBERFIELD],
@EMAILADDRESSFIELDNAME = [EMAILADDRESSFIELD],
@FIRSTGIFTDATEFIELDNAME = [FIRSTGIFTDATEFIELD]
from dbo.[MKTRECORDSOURCEFIELDMAPPINGS]
where [ID] = @RECORDSOURCEID;
--See if the fields exist in the table/view and clear the name if necessary
if exists(select * from INFORMATION_SCHEMA.COLUMNS where [TABLE_NAME] = @TABLEORVIEWNAME and [COLUMN_NAME] = @FULLNAMEFIELDNAME)
set @FULLNAMEFIELDNAME = '[' + @FULLNAMEFIELDNAME + ']';
else
set @FULLNAMEFIELDNAME = '''''';
if exists(select * from INFORMATION_SCHEMA.COLUMNS where [TABLE_NAME] = @TABLEORVIEWNAME and [COLUMN_NAME] = @FIRSTNAMEFIELDNAME)
set @FIRSTNAMEFIELDNAME = '[' + @FIRSTNAMEFIELDNAME + ']';
else
set @FIRSTNAMEFIELDNAME = '''''';
if exists(select * from INFORMATION_SCHEMA.COLUMNS where [TABLE_NAME] = @TABLEORVIEWNAME and [COLUMN_NAME] = @MIDDLENAMEFIELDNAME)
set @MIDDLENAMEFIELDNAME = '[' + @MIDDLENAMEFIELDNAME + ']';
else
set @MIDDLENAMEFIELDNAME = '''''';
if exists(select * from INFORMATION_SCHEMA.COLUMNS where [TABLE_NAME] = @TABLEORVIEWNAME and [COLUMN_NAME] = @LASTNAMEFIELDNAME)
set @LASTNAMEFIELDNAME = '[' + @LASTNAMEFIELDNAME + ']';
else
set @LASTNAMEFIELDNAME = '''''';
if exists(select * from INFORMATION_SCHEMA.COLUMNS where [TABLE_NAME] = @TABLEORVIEWNAME and [COLUMN_NAME] = @TITLEFIELDNAME)
set @TITLEFIELDNAME = '[' + @TITLEFIELDNAME + ']';
else
set @TITLEFIELDNAME = '''''';
if exists(select * from INFORMATION_SCHEMA.COLUMNS where [TABLE_NAME] = @TABLEORVIEWNAME and [COLUMN_NAME] = @SUFFIXFIELDNAME)
set @SUFFIXFIELDNAME = '[' + @SUFFIXFIELDNAME + ']';
else
set @SUFFIXFIELDNAME = '''''';
if exists(select * from INFORMATION_SCHEMA.COLUMNS where [TABLE_NAME] = @TABLEORVIEWNAME and [COLUMN_NAME] = @COUNTRYFIELDNAME)
set @COUNTRYFIELDNAME = '[' + @COUNTRYFIELDNAME + ']';
else
set @COUNTRYFIELDNAME = '''''';
if exists(select * from INFORMATION_SCHEMA.COLUMNS where [TABLE_NAME] = @TABLEORVIEWNAME and [COLUMN_NAME] = @ADDRESSLINE1FIELDNAME)
set @ADDRESSLINE1FIELDNAME = '[' + @ADDRESSLINE1FIELDNAME + ']';
else
set @ADDRESSLINE1FIELDNAME = '''''';
if exists(select * from INFORMATION_SCHEMA.COLUMNS where [TABLE_NAME] = @TABLEORVIEWNAME and [COLUMN_NAME] = @ADDRESSLINE2FIELDNAME)
set @ADDRESSLINE2FIELDNAME = '[' + @ADDRESSLINE2FIELDNAME + ']';
else
set @ADDRESSLINE2FIELDNAME = '''''';
if exists(select 1 from INFORMATION_SCHEMA.COLUMNS where [TABLE_NAME] = @TABLEORVIEWNAME and [COLUMN_NAME] = @ADDRESSLINE3FIELDNAME)
set @ADDRESSLINE3FIELDNAME = '[' + @ADDRESSLINE3FIELDNAME + ']';
else
set @ADDRESSLINE3FIELDNAME = '''''';
if exists(select 1 from INFORMATION_SCHEMA.COLUMNS where [TABLE_NAME] = @TABLEORVIEWNAME and [COLUMN_NAME] = @ADDRESSLINE4FIELDNAME)
set @ADDRESSLINE4FIELDNAME = '[' + @ADDRESSLINE4FIELDNAME + ']';
else
set @ADDRESSLINE4FIELDNAME = '''''';
if exists(select 1 from INFORMATION_SCHEMA.COLUMNS where [TABLE_NAME] = @TABLEORVIEWNAME and [COLUMN_NAME] = @ADDRESSLINE5FIELDNAME)
set @ADDRESSLINE5FIELDNAME = '[' + @ADDRESSLINE5FIELDNAME + ']';
else
set @ADDRESSLINE5FIELDNAME = '''''';
if exists(select * from INFORMATION_SCHEMA.COLUMNS where [TABLE_NAME] = @TABLEORVIEWNAME and [COLUMN_NAME] = @CITYFIELDNAME)
set @CITYFIELDNAME = '[' + @CITYFIELDNAME + ']';
else
set @CITYFIELDNAME = '''''';
if exists(select * from INFORMATION_SCHEMA.COLUMNS where [TABLE_NAME] = @TABLEORVIEWNAME and [COLUMN_NAME] = @STATEFIELDNAME)
set @STATEFIELDNAME = '[' + @STATEFIELDNAME + ']';
else
set @STATEFIELDNAME = '''''';
if exists(select * from INFORMATION_SCHEMA.COLUMNS where [TABLE_NAME] = @TABLEORVIEWNAME and [COLUMN_NAME] = @POSTCODEFIELDNAME)
set @POSTCODEFIELDNAME = '[' + @POSTCODEFIELDNAME + ']';
else
set @POSTCODEFIELDNAME = '''''';
if exists(select * from INFORMATION_SCHEMA.COLUMNS where [TABLE_NAME] = @TABLEORVIEWNAME and [COLUMN_NAME] = @CARTFIELDNAME)
set @CARTFIELDNAME = '[' + @CARTFIELDNAME + ']';
else
set @CARTFIELDNAME = '''''';
if exists(select * from INFORMATION_SCHEMA.COLUMNS where [TABLE_NAME] = @TABLEORVIEWNAME and [COLUMN_NAME] = @DPCFIELDNAME)
set @DPCFIELDNAME = '[' + @DPCFIELDNAME + ']';
else
set @DPCFIELDNAME = '''''';
if exists(select * from INFORMATION_SCHEMA.COLUMNS where [TABLE_NAME] = @TABLEORVIEWNAME and [COLUMN_NAME] = @LOTFIELDNAME)
set @LOTFIELDNAME = '[' + @LOTFIELDNAME + ']';
else
set @LOTFIELDNAME = '''''';
if exists(select * from INFORMATION_SCHEMA.COLUMNS where [TABLE_NAME] = @TABLEORVIEWNAME and [COLUMN_NAME] = @PHONENUMBERFIELDNAME)
set @PHONENUMBERFIELDNAME = '[' + @PHONENUMBERFIELDNAME + ']';
else
set @PHONENUMBERFIELDNAME = '''''';
if exists(select * from INFORMATION_SCHEMA.COLUMNS where [TABLE_NAME] = @TABLEORVIEWNAME and [COLUMN_NAME] = @EMAILADDRESSFIELDNAME)
set @EMAILADDRESSFIELDNAME = '[' + @EMAILADDRESSFIELDNAME + ']';
else
set @EMAILADDRESSFIELDNAME = '''''';
if exists(select * from INFORMATION_SCHEMA.COLUMNS where [TABLE_NAME] = @TABLEORVIEWNAME and [COLUMN_NAME] = @FIRSTGIFTDATEFIELDNAME)
set @FIRSTGIFTDATEFIELDNAME = '[' + @FIRSTGIFTDATEFIELDNAME + ']';
else
set @FIRSTGIFTDATEFIELDNAME = '''''';
--Build the SQL
declare @SQL nvarchar(max);
set @SQL = 'select' + char(13) +
' ' + @FULLNAMEFIELDNAME + ' as [FULLNAME],' + char(13) +
' ' + @FIRSTNAMEFIELDNAME + ' as [FIRSTNAME],' + char(13) +
' ' + @MIDDLENAMEFIELDNAME + ' as [MIDDLENAME],' + char(13) +
' ' + @LASTNAMEFIELDNAME + ' as [LASTNAME],' + char(13) +
' ' + @TITLEFIELDNAME + ' as [TITLE],' + char(13) +
' ' + @SUFFIXFIELDNAME + ' as [SUFFIX],' + char(13) +
' ' + @COUNTRYFIELDNAME + ' as [COUNTRY],' + char(13) +
' ' + @ADDRESSLINE1FIELDNAME + ' as [ADDRESSLINE1],' + char(13) +
' ' + @ADDRESSLINE2FIELDNAME + ' as [ADDRESSLINE2],' + char(13) +
' ' + @ADDRESSLINE3FIELDNAME + ' as [ADDRESSLINE3],' + char(13) +
' ' + @ADDRESSLINE4FIELDNAME + ' as [ADDRESSLINE4],' + char(13) +
' ' + @ADDRESSLINE5FIELDNAME + ' as [ADDRESSLINE5],' + char(13) +
' ' + @CITYFIELDNAME + ' as [CITY],' + char(13) +
' ' + @STATEFIELDNAME + ' as [STATE],' + char(13) +
' ' + @POSTCODEFIELDNAME + ' as [POSTCODE],' + char(13) +
' ' + @CARTFIELDNAME + ' as [CART],' + char(13) +
' ' + @DPCFIELDNAME + ' as [DPC],' + char(13) +
' ' + @LOTFIELDNAME + ' as [LOT],' + char(13) +
' ' + @PHONENUMBERFIELDNAME + ' as [PHONENUMBER],' + char(13) +
' ' + @EMAILADDRESSFIELDNAME + ' as [EMAILADDRESS],' + char(13) +
' ' + @FIRSTGIFTDATEFIELDNAME + ' as [FIRSTGIFTDATE]' + char(13) +
'from dbo.[' + @TABLEORVIEWNAME + ']' + char(13) +
'where [' + @PRIMARYKEYNAME + '] = @ID';
exec sp_executesql @SQL, N'@ID nvarchar(36)', @ID = @ID;
return 0;