/***************************************************/
CREATE PROCEDURE sp_locationInsert AS
SET NOCOUNT ON
insert into tblLocation WITH (TABLOCKX,HOLDLOCK) (zip, state, city, county) select DISTINCT tblFISData2.zip, tblFISData2.state, tblFISData2.city, tblFISData2.county from tblFISData2
where NOT EXISTS (SELECT zip,state,city,county from tblLocation where tblFISData2.zip=tblLocation.zip AND tblFISData2.state=tblLocation.state AND tblFISData2.city=tblLocation.city AND tblFISData2.county=tblLocation.county);
/***************************************************/
CREATE PROCEDURE sp_salesInsert AS
SET NOCOUNT ON
Insert into tblsales WITH (TABLOCKX,HOLDLOCK) (salePrice,saleDate) select distinct sales_price, sales_date from tblFISData2
WHERE NOT EXISTS (Select salePrice, saleDate from tblsales where tblFISData2.sales_price=tblsales.salePrice and tblFISData2.sales_date=tblsales.saleDate)
/***************************************************/
CREATE PROCEDURE sp_loansInsert AS
SET NOCOUNT ON
Insert into tblLoans WITH (TABLOCKX,HOLDLOCK) (lender,rateType,loanType,mortLength,transType,mortAmount) select distinct tblFISData2.lender, tblFISData2.rate_type,tblFISData2.loan_type,tblFISData2.mortgage_years,tblFISData2.transaction_type,tblFISData2.mortgage_amount from tblFISData2
WHERE NOT EXISTS (SELECT lender,rateType,loanType,mortLength,transType,mortAmount FROM tblLoans where tblFISData2.lender=tblLoans.lender and tblFISData2.rate_type=tblLoans.rateType and tblFISData2.loan_type=tblLoans.loanType and tblFISData2.mortgage_years=tblLoans.mortLength and tblFISData2.transaction_type=tblLoans.transType and tblFISData2.mortgage_amount=tblLoans.mortAmount)
/***************************************************/
CREATE PROCEDURE sp_homesInsert AS
SET NOCOUNT ON
delete from TEMPtblHomes
Insert into TEMPtblHomes WITH (TABLOCKX,HOLDLOCK) (loanID,saleID) select DISTINCT tblLoans.loanID, tblsales.saleID from tblLoans,tblsales,tblFISData2 where tblFISData2.lender=tblLoans.lender and tblFISData2.rate_type=tblLoans.rateType and tblFISData2.loan_type=tblLoans.loanType and tblFISData2.mortgage_years=tblLoans.mortLength and tblFISData2.transaction_type=tblLoans.transType and tblFISData2.mortgage_amount=tblLoans.mortAmount and tblFISData2.sales_price=tblsales.salePrice and tblFISData2.sales_date=tblsales.saleDate
Insert into tblHomes WITH (TABLOCKX,HOLDLOCK) (loanID,saleID) select TEMPtblHomes.loanID,TEMPtblHomes.saleID from TEMPtblHomes
WHERE NOT EXISTS (SELECT loanID,saleID FROM tblHomes WHERE TEMPtblHomes.loanID=tblHomes.loanID AND TEMPtblHomes.saleID=tblHomes.saleID);
/***************************************************/
CREATE PROCEDURE sp_usersInsert AS
SET NOCOUNT ON
delete FROM TEMPtblUsers
Insert into TEMPtblUsers WITH (TABLOCKX,HOLDLOCK) (homeID, locationID, phone)
select DISTINCT tblHomes.homeID, tblLocation.locationID,tblFISData2.phone from tblHomes
INNER JOIN tblSales ON tblHomes.saleID=tblSales.saleID
INNER JOIN tblLoans ON tblHomes.loanID=tblLoans.loanID
INNER JOIN tblFISData2 ON tblFISData2.lender=tblLoans.lender and tblFISData2.rate_type=tblLoans.rateType and tblFISData2.loan_type=tblLoans.loanType and tblFISData2.mortgage_years=tblLoans.mortLength and tblFISData2.transaction_type=tblLoans.transType and tblFISData2.mortgage_amount=tblLoans.mortAmount and tblFISData2.sales_price=tblsales.salePrice and tblFISData2.sales_date=tblsales.saleDate
INNER JOIN tblLocation ON tblFISData2.zip=tblLocation.zip and tblFISData2.state=tblLocation.state and tblFISData2.city=tblLocation.city and tblFISData2.county=tblLocation.county
Insert into tblUsers WITH (TABLOCKX,HOLDLOCK) (homeID, locationID, phone)
select TEMPtblUsers.homeID,TEMPtblUsers.locationID,TEMPtblUsers.phone from TEMPtblUsers
WHERE NOT EXISTS
(SELECT homeID,locationID,phone FROM tblUsers WHERE TEMPtblUsers.homeID=tblUsers.homeID AND TEMPtblUsers.locationID=tblUsers.locationID AND TEMPtblUsers.phone=tblUsers.phone);
/***************************************************/
CREATE PROCEDURE sp_recordsInsert AS
SET NOCOUNT ON
delete FROM TEMPtblRecords
Insert into TEMPtblRecords WITH (TABLOCKX,HOLDLOCK) (uniqueID, userID, dateID)
select DISTINCT tblFISData2.uniqueID, tblUsers.userID, tblFISData2.dateID from tblUsers
INNER JOIN tblHomes ON tblUsers.homeID=tblHomes.homeID
INNER JOIN tblSales ON tblHomes.saleID=tblSales.saleID
INNER JOIN tblLoans ON tblHomes.loanID=tblLoans.loanID
INNER JOIN tblFISData2 ON tblFISData2.lender=tblLoans.lender and tblFISData2.rate_type=tblLoans.rateType and tblFISData2.loan_type=tblLoans.loanType and tblFISData2.mortgage_years=tblLoans.mortLength and tblFISData2.transaction_type=tblLoans.transType and tblFISData2.mortgage_amount=tblLoans.mortAmount and tblFISData2.sales_price=tblsales.salePrice and tblFISData2.sales_date=tblsales.saleDate
INNER JOIN tblLocation ON tblUsers.locationID=tblLocation.locationID AND tblFISData2.zip=tblLocation.zip and tblFISData2.state=tblLocation.state and tblFISData2.city=tblLocation.city and tblFISData2.county=tblLocation.county
Insert into tblRecords WITH (TABLOCKX,HOLDLOCK) (uniqueID, userID, dateID)
select DISTINCT TEMPtblRecords.uniqueID,TEMPtblRecords.userID,TEMPtblRecords.dateID from TEMPtblRecords
WHERE NOT EXISTS
(SELECT uniqueID, userID, dateID FROM tblRecords WHERE TEMPtblRecords.uniqueID=tblRecords.uniqueID AND TEMPtblRecords.userID=tblRecords.userID AND TEMPtblRecords.dateID=tblRecords.dateID);