USP_PHONE_UPDATE_LOAD
Retrieves the information needed to update a phone.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | IN | |
@DATALOADED | bit | INOUT | |
@TSLONG | bigint | INOUT | |
@PHONETYPECODEID | uniqueidentifier | INOUT | |
@NUMBER | nvarchar(100) | INOUT | |
@PRIMARY | bit | INOUT | |
@DONOTCALL | bit | INOUT | |
@SPOUSENAME | nvarchar(154) | INOUT | |
@SPOUSEHASMATCHINGPHONE | bit | INOUT | |
@UPDATEMATCHINGSPOUSEPHONE | bit | INOUT | |
@MATCHINGHOUSEHOLDMEMBERS | xml | INOUT | |
@STARTTIME | UDT_HOURMINUTE | INOUT | |
@ENDTIME | UDT_HOURMINUTE | INOUT | |
@INFOSOURCECODEID | uniqueidentifier | INOUT | |
@INFOSOURCECOMMENTS | nvarchar(256) | INOUT | |
@COUNTRYID | uniqueidentifier | INOUT | |
@STARTDATE | date | INOUT | |
@ENDDATE | date | INOUT | |
@DONOTCALLREASONCODEID | uniqueidentifier | INOUT | |
@ISCONFIDENTIAL | bit | INOUT | |
@ORIGINCODE | tinyint | INOUT | |
@SEASONALSTARTDATE | UDT_MONTHDAY | INOUT | |
@SEASONALENDDATE | UDT_MONTHDAY | INOUT | |
@DONOTTEXT | bit | INOUT |
Definition
Copy
CREATE procedure dbo.USP_PHONE_UPDATE_LOAD
(
@ID uniqueidentifier,
@DATALOADED bit = 0 output,
@TSLONG bigint = 0 output,
@PHONETYPECODEID uniqueidentifier = null output,
@NUMBER nvarchar(100) = null output,
@PRIMARY bit = null output,
@DONOTCALL bit = null output,
@SPOUSENAME nvarchar(154) = null output,
@SPOUSEHASMATCHINGPHONE bit = null output,
@UPDATEMATCHINGSPOUSEPHONE bit = null output,
@MATCHINGHOUSEHOLDMEMBERS xml = null output,
@STARTTIME dbo.UDT_HOURMINUTE = null output,
@ENDTIME dbo.UDT_HOURMINUTE = null output,
@INFOSOURCECODEID uniqueidentifier = null output,
@INFOSOURCECOMMENTS nvarchar(256) = null output,
@COUNTRYID uniqueidentifier = null output,
@STARTDATE date = null output,
@ENDDATE date = null output,
@DONOTCALLREASONCODEID uniqueidentifier = null output,
@ISCONFIDENTIAL bit = null output,
@ORIGINCODE tinyint = null output,
@SEASONALSTARTDATE dbo.UDT_MONTHDAY = null output,
@SEASONALENDDATE dbo.UDT_MONTHDAY = null output,
@DONOTTEXT bit = null output
)
as
set nocount on;
declare @SPOUSEID uniqueidentifier;
set @DATALOADED = 0;
set @TSLONG = 0;
set @SPOUSEHASMATCHINGPHONE = 0;
set @UPDATEMATCHINGSPOUSEPHONE = 0;
if exists(select object_id from sys.objects where type = 'U' and name = 'RELATIONSHIP') begin
select
@DATALOADED = 1,
@PHONETYPECODEID = PHONE.PHONETYPECODEID,
@NUMBER = PHONE.NUMBER,
@PRIMARY = PHONE.ISPRIMARY,
@DONOTCALL = PHONE.DONOTCALL,
@SPOUSEID = SPOUSE.ID,
@SPOUSENAME = SPOUSE.NAME,
@TSLONG = PHONE.TSLONG,
@STARTTIME = PHONE.STARTTIME,
@ENDTIME = PHONE.ENDTIME,
@INFOSOURCECODEID = PHONE.INFOSOURCECODEID,
@INFOSOURCECOMMENTS = PHONE.INFOSOURCECOMMENTS,
@COUNTRYID = PHONE.COUNTRYID,
@STARTDATE = PHONE.STARTDATE,
@ENDDATE = PHONE.ENDDATE,
@DONOTCALLREASONCODEID = PHONE.DONOTCALLREASONCODEID,
@ISCONFIDENTIAL = PHONE.ISCONFIDENTIAL,
@ORIGINCODE = PHONE.ORIGINCODE,
@SEASONALSTARTDATE = PHONE.SEASONALSTARTDATE,
@SEASONALENDDATE = PHONE.SEASONALENDDATE,
@DONOTTEXT = PHONE.DONOTTEXT
from
dbo.PHONE
left join dbo.RELATIONSHIP on RELATIONSHIP.RELATIONSHIPCONSTITUENTID = PHONE.CONSTITUENTID and RELATIONSHIP.ISSPOUSE = 1
left join dbo.CONSTITUENT as SPOUSE on SPOUSE.ID = RELATIONSHIP.RECIPROCALCONSTITUENTID
where
PHONE.ID = @ID;
if exists (
select PHONE.ID
from dbo.PHONE
where
PHONE.CONSTITUENTID = @SPOUSEID and
PHONE.NUMBER = @NUMBER
) begin
set @SPOUSEHASMATCHINGPHONE = 1;
set @UPDATEMATCHINGSPOUSEPHONE = 1;
end
end
else begin
select
@DATALOADED = 1,
@PHONETYPECODEID = PHONE.PHONETYPECODEID,
@NUMBER = PHONE.NUMBER,
@PRIMARY = PHONE.ISPRIMARY,
@DONOTCALL = PHONE.DONOTCALL,
@TSLONG = PHONE.TSLONG,
@STARTTIME = PHONE.STARTTIME,
@ENDTIME = PHONE.ENDTIME,
@INFOSOURCECODEID = PHONE.INFOSOURCECODEID,
@INFOSOURCECOMMENTS = PHONE.INFOSOURCECOMMENTS,
@COUNTRYID = PHONE.COUNTRYID,
@STARTDATE = PHONE.STARTDATE,
@ENDDATE = PHONE.ENDDATE,
@DONOTCALLREASONCODEID = PHONE.DONOTCALLREASONCODEID,
@ISCONFIDENTIAL = PHONE.ISCONFIDENTIAL,
@ORIGINCODE = PHONE.ORIGINCODE,
@SEASONALSTARTDATE = PHONE.SEASONALSTARTDATE,
@SEASONALENDDATE = PHONE.SEASONALENDDATE,
@DONOTTEXT = PHONE.DONOTTEXT
from
dbo.PHONE
where
PHONE.ID = @ID;
end
return 0;