我有兩個表中存在?值必須在兩個表
Q
值必須在兩個表
2
A
回答
4
這不能與聲明引用完整性(DRI)單獨完成。添加外鍵約束只是解決方案的一部分。您還需要將插入操作的事務和業務邏輯封裝到2個表中。我建議在存儲過程中執行此操作,以便從應用程序的角度以原子操作方式運行。
Begin Transaction
Logic around inserting a Customer
Logic around inserting CustomerPhone row
If the newly added Customer has a CustomerPhone
Commit Transaction
Else
Rollback Transaction
2
使cust_id
成爲表customer
上的主鍵。
然後在表customerphone
上製作cust_id
一個外鍵,該表上的指向customer
。
這時如果cust_id
在customer
已經存在,你只能行添加到customerphone
。
0
您可以使用CUST_ID從客戶作爲主鍵,使用外鍵限制在customerphone CUST_ID。
您可以使用本手冊指導自己: https://technet.microsoft.com/en-us/library/ms175464(v=sql.105).aspx
相關問題
- 1. 爲什麼兩個SqlDataAdaptor都必須指定兩次表?
- 2. 屬性值必須在@Retryable
- 3. iphone 5我必須做兩個xib
- 4. 必須登錄兩次plone
- 5. 我必須登錄兩次
- 6. SSRS必須包含結果集中的兩個值
- 7. 必須賦值賦值
- 8. 表達必須修改的左值
- 9. 表達必須是可修改值(C)
- 10. 表達式必須是L值
- 11. C++,表達必須修改的左值
- 12. 必須在jQuery上點擊兩次
- 13. 必須在適配器中讀取對象值兩次
- 14. 主要必須返回一個值
- 15. 管理兩個組合框,其中只有一個必須有一個值
- 16. 值必須大於無窮
- 17. Laravel 4:值必須提供
- 18. 必須單擊兩次才能在IE8中提交表單
- 19. 必須在表上重建索引兩次
- 20. 必須是一個列表或元組
- 21. 表達式必須是一個可修改的左值 - 數組
- 22. 表達必須是一個可修改的L值
- 23. C++類表達式必須是一個修改的左值
- 24. 錯誤:表達式必須有一個常數值
- 25. 2-d陣列 - 表達必須有一個恆定值誤差
- 26. 停止操作POST,在jquery中必須有兩個('if')。驗證我的表格
- 27. 您必須定義此表
- 28. R - 餡餅,X值必須爲正值
- 29. 放在一個輸入框的默認值必須在點擊
- 30. 必須登錄兩次:angular js
您是否考慮過外鍵? – HoneyBadger
不,我不知道如何解釋,但每個客戶都必須有一個客戶電話 – Yakalent
如何將客戶電話放在客戶桌上而不是自己的桌上?或者客戶可以有多個電話號碼?由於無法同時插入兩個表(儘管存在交易),因此無法確保記錄必須存在於兩個表中。 –