A primary key is not needed, but a unique constraint at minimum.
CREATE TABLE GIS_Data
(ParcelID int)
CREATE TABLE Field_Data
(ParcelID int)
INSERT into GIS_Data
select 1 union
select 2 union
select 3 union
select 4 union
select 5 union
select 6
INSERT into Field_Data
select 4 union
select 5 union
select 6 union
select 7 union
select 8 union
select 9
CREATE UNIQUE NONCLUSTERED INDEX IX_Field_Data ON dbo.Field_Data
(ParcelID)
ALTER TABLE GIS_DATA
ADD CONSTRAINT FK_FIELD_DATA FOREIGN KEY (ParcelID)
REFERENCES Field_Data (ParcelID)
--These records have not match in the Field_Data table
SELECT ParcelID
FROM GIS_Data WHERE ParcelID NOT IN (SELECT ParcelID from Field_Data)
--They must be updated or deleted from GIS_Data, or inserted int Field_Data
BEGIN TRAN
DELETE FROM GIS_Data WHERE ParcelID NOT IN (SELECT ParcelID from Field_Data)
ALTER TABLE GIS_Data
ADD CONSTRAINT FK_FIELD_DATA FOREIGN KEY (ParcelID)
REFERENCES Field_Data (ParcelID)
ROLLBACK
BEGIN TRAN
INSERT INTO Field_Data
SELECT ParcelID FROM GIS_Data WHERE ParcelID NOT IN (SELECT ParcelID from Field_Data)
ALTER TABLE GIS_Data
ADD CONSTRAINT FK_FIELD_DATA FOREIGN KEY (ParcelID)
REFERENCES Field_Data (ParcelID)
ROLLBACK
DROP TABLE GIS_Data
DROP TABLE Field_Data
Todd Carrier
MCITP - Database Administrator (SQL 2008)
MCSE: Data Platform (SQL 2012)