>>>Hi,
>>>
>>>I am struggling with creating the following SQL UPDATE:
>>>
>>>I have table PART_LIST with the PK field PART_PK (int) and unique field PART_NO (char).
>>>Another table is PART_AUDIT with FK PART_PK and FK PART_NO.
>>>I want to update PART_AUDIT column PART_PK with NULL for those records that do not have an entry of PART_NO in the PART_LIST. That is, before I can set the FK constraint on PART_PK I need to eliminate all the invalid keys.
>>>
>>>I would appreciate any suggestions or some sample code.
>>>
>>>This is my attempt at the code
>>>
>>>
>>>update PART_AUDIT set PART_PK = null where not exists (select PART_PK from PART_LIST where
>>> PART_LIST.PART_NO = PART_AUDIT.PART_NO)
>>>
>>
>>Your code seems to be fine. Although I would name the field Part_FK in the Part_Audit as it's not a PK field there.
>
For each update use this pattern:
begin transaction
update myTable
select from myTable
ROLLBACK transaction
Only after you verified your update is OK (or use it as a select), only then change ROLLBACK to COMMIT.
We actually don't use PK FK prefixes in the place where I work now. We can use item_id as a field and use the same field in other tables.
Or we can use SeatID and use the same name in related tables.
I need to run now.
If it's not broken, fix it until it is.
My Blog