T- SQL хранимая процедура добавляет функцию ALTER TABLE - PullRequest
0 голосов
/ 28 марта 2020

Я добавил эти внешние ключи в таблицу, используя функцию изменения таблицы.

Я хотел бы добавить их как одну хранимую процедуру, чтобы при выполнении хранимой процедуры она запускалась и добавляла эти внешние ключи в мою таблицу. Любая помощь? Спасибо

ALTER TABLE [child] 
    ADD FOREIGN KEY ([mother_father_caregiver_id]) 
        REFERENCES [education] ([education_id])

ALTER TABLE [child] 
    ADD FOREIGN KEY ([education_id]) 
        REFERENCES [caregiver] ([mother_father_caregiver_id])

ALTER TABLE [child] 
    ADD FOREIGN KEY ([household_id]) 
        REFERENCES [household] ([household_id])

ALTER TABLE [household] 
    ADD FOREIGN KEY ([householdage_id]) 
        REFERENCES [householdage] ([householdage_id])

ALTER TABLE [household] 
    ADD FOREIGN KEY ([livestock_id]) 
        REFERENCES [livestock] ([livestock_id])

ALTER TABLE [household] 
    ADD FOREIGN KEY ([credit_id]) 
        REFERENCES [credit] ([credit_id])

ALTER TABLE [household] 
    ADD FOREIGN KEY ([shock_id]) 
        REFERENCES [householdshocks] ([shock_id])

1 Ответ

0 голосов
/ 29 марта 2020

Я сам все понял, вот ответ.

CREATE PROCEDURE spForeignKeys
AS
BEGIN 
    ALTER TABLE [child] ADD FOREIGN KEY  ([household_id]) REFERENCES [household] ([household_id])

    ALTER TABLE [child] ADD FOREIGN KEY  ([panel_id]) REFERENCES [panel] ([panel_id])

    ALTER TABLE [child] ADD FOREIGN KEY  ([childcharacteristics_id]) REFERENCES [childcharacteristics] ([childcharacteristics_id])
    ALTER TABLE [child] ADD FOREIGN KEY  ([anthropometric_id]) REFERENCES [anthropometric] (anthropometric_id)
    ALTER TABLE [child] ADD FOREIGN KEY  ([immunisation_id]) REFERENCES [birthimmunisation] ([immunisation_id])
    ALTER TABLE [child] ADD FOREIGN KEY  ([health_id]) REFERENCES [childhealth] ([health_id])
    ALTER TABLE [child] ADD FOREIGN KEY  ([timeuse_id]) REFERENCES [timeuse] ([timeuse_id])
    ALTER TABLE [child] ADD FOREIGN KEY  ([habits_id]) REFERENCES [habits] ([habits_id])
    ALTER TABLE [child] ADD FOREIGN KEY  ([mother_father_caregiver_id]) REFERENCES [education] ([education_id])
    ALTER TABLE [child] ADD FOREIGN KEY  ([education_id]) REFERENCES [caregiver] ([mother_father_caregiver_id])

    ALTER TABLE [household] ADD FOREIGN KEY  ([householdage_id]) REFERENCES [householdage] ([householdage_id])
    ALTER TABLE [household] ADD FOREIGN KEY  ([livestock_id]) REFERENCES [livestock] ([livestock_id])
    ALTER TABLE [household] ADD FOREIGN KEY  ([credit_id]) REFERENCES [credit] ([credit_id])
    ALTER TABLE [household] ADD FOREIGN KEY  ([shock_id]) REFERENCES [householdshocks] ([shock_id])
    ALTER TABLE [household] ADD FOREIGN KEY  ([wealth_id]) REFERENCES [wealthindex] ([wealth_id])
END;
EXECUTE spForeignKeys;
...