我學習SQL,並有一些表像下面:父母與子女表 - 確保兒童完成
Person (id*, name)
Customer(id*, is_active, ...)
Employee(id*, department_id, ...)
(*表示主鍵,這在客戶和員工的情況下,既一個PK和一個FK回人)
客戶和員工都是人的類型,我想確保當一個記錄被插入人時,記錄也必須插入到任何客戶或員工,但不是兩者。在這個例子中,一個人不能既是員工又是客戶。
我被告知觸發器對強制執行此約束會很有用。有人可以用這個簡單的例子來解釋觸發器的用法嗎?
您不必使用觸發器。你可以做一個插入2行的過程。 –
您正在使用哪些DBMS?甲骨文? PostgreSQL的? –
你確定觸發是你想要的嗎?根據您在此處的設計,觸發器可能沒有所需的所有信息來正確填充要填充的兩個表中的任何一個。您可能想要將應用程序代碼中的插入作爲事務的一部分來處理。 – kolossus