USP_HOUSEHOLDINFO_CREATEORUPDATE
Creates or updates the top row in the household info table.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | IN | |
@NAMEFORMATFUNCTIONID | uniqueidentifier | IN | |
@HOUSEHOLDRECOGNIZEHOUSEHOLD | bit | IN | |
@HOUSEHOLDRECOGNIZEMEMBERS | bit | IN | |
@MEMBERRECOGNIZEHOUSEHOLD | bit | IN | |
@MEMBERRECOGNIZEMEMBER | bit | IN | |
@MEMBERRECOGNIZEOTHERMEMBERS | bit | IN | |
@HOUSEHOLDSCANBEDONORS | bit | IN | |
@CHANGEAGENTID | uniqueidentifier | IN | |
@HOUSEHOLDREVENUERECOGNITIONTYPECODEID | uniqueidentifier | IN | |
@MEMBERREVENUERECOGNITIONTYPECODEID | uniqueidentifier | IN |
Definition
Copy
CREATE procedure dbo.USP_HOUSEHOLDINFO_CREATEORUPDATE (
@ID uniqueidentifier = null,
@NAMEFORMATFUNCTIONID uniqueidentifier = null,
@HOUSEHOLDRECOGNIZEHOUSEHOLD bit = 0,
@HOUSEHOLDRECOGNIZEMEMBERS bit = 0,
@MEMBERRECOGNIZEHOUSEHOLD bit = 0,
@MEMBERRECOGNIZEMEMBER bit = 0,
@MEMBERRECOGNIZEOTHERMEMBERS bit = 0,
@HOUSEHOLDSCANBEDONORS bit = 0,
@CHANGEAGENTID uniqueidentifier = null,
@HOUSEHOLDREVENUERECOGNITIONTYPECODEID uniqueidentifier = null,
@MEMBERREVENUERECOGNITIONTYPECODEID uniqueidentifier = null
) as begin
set nocount on;
if @CHANGEAGENTID is null
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output;
declare @CURRENTDATE datetime;
set @CURRENTDATE = getdate();
if exists(select 1 from dbo.HOUSEHOLDINFO) begin
select @ID = ID from dbo.HOUSEHOLDINFO order by DATEADDED;
update dbo.HOUSEHOLDINFO set
NAMEFORMATFUNCTIONID = @NAMEFORMATFUNCTIONID,
HOUSEHOLDRECOGNIZEHOUSEHOLD = @HOUSEHOLDRECOGNIZEHOUSEHOLD,
HOUSEHOLDRECOGNIZEMEMBERS = @HOUSEHOLDRECOGNIZEMEMBERS,
MEMBERRECOGNIZEHOUSEHOLD = @MEMBERRECOGNIZEHOUSEHOLD,
MEMBERRECOGNIZEMEMBER = @MEMBERRECOGNIZEMEMBER,
MEMBERRECOGNIZEOTHERMEMBERS = @MEMBERRECOGNIZEOTHERMEMBERS,
HOUSEHOLDSCANBEDONORS = @HOUSEHOLDSCANBEDONORS,
HOUSEHOLDREVENUERECOGNITIONTYPECODEID = @HOUSEHOLDREVENUERECOGNITIONTYPECODEID,
MEMBERREVENUERECOGNITIONTYPECODEID = @MEMBERREVENUERECOGNITIONTYPECODEID,
CHANGEDBYID = @CHANGEAGENTID,
DATECHANGED = @CURRENTDATE
where
ID = @ID;
end
else begin
if @ID is null
set @ID = newid();
insert into dbo.HOUSEHOLDINFO (
NAMEFORMATFUNCTIONID,
HOUSEHOLDRECOGNIZEHOUSEHOLD,
HOUSEHOLDRECOGNIZEMEMBERS,
MEMBERRECOGNIZEHOUSEHOLD,
MEMBERRECOGNIZEMEMBER,
MEMBERRECOGNIZEOTHERMEMBERS,
HOUSEHOLDSCANBEDONORS,
HOUSEHOLDREVENUERECOGNITIONTYPECODEID,
MEMBERREVENUERECOGNITIONTYPECODEID,
ADDEDBYID,
CHANGEDBYID,
DATEADDED,
DATECHANGED
) values (
@NAMEFORMATFUNCTIONID,
@HOUSEHOLDRECOGNIZEHOUSEHOLD,
@HOUSEHOLDRECOGNIZEMEMBERS,
@MEMBERRECOGNIZEHOUSEHOLD,
@MEMBERRECOGNIZEMEMBER,
@MEMBERRECOGNIZEOTHERMEMBERS,
@HOUSEHOLDSCANBEDONORS,
@HOUSEHOLDREVENUERECOGNITIONTYPECODEID,
@MEMBERREVENUERECOGNITIONTYPECODEID,
@CHANGEAGENTID,
@CHANGEAGENTID,
@CURRENTDATE,
@CURRENTDATE
)
end
return 0;
end