我的第一個表唯一鍵是子表中的外鍵,我使用的是存儲過程中的事務,當我使用事務時出現問題然後第一個表被插入的唯一鍵顯示之前沒有值提交查詢和第二個表的數據插入我需要在第一個表中插入行的唯一鍵。 我會在where子句中使用select查詢。但我的面試官說,告訴我一些其他的方式來實現這一點,他說他不能寫100張桌子的「select where」語句。如何在多個表中使用事務插入數據
0
A
回答
3
在這種情況下,您將使用SCOPE_IDENTITY()
函數檢索父表中新插入行的標識。您的腳本應如下所示:
begin transaction
declare @parentId int;
insert into ParentTable(Value1, Value2) values('1', '2')
select @parentId = SCOPE_IDENTITY()
insert into ChildTable(ParentId, Value) values(@parentId, '3')
commit
+0
哇,這聽起來不錯,但是當主鍵列上的isIdentity設置爲false時,我可以使用這個範圍標識。 –
+0
,因爲對於唯一的主鍵,我使用自己的邏輯來創建PK不使用標識列 –
+0
@BRBHARDWAJ,如果您使用自定義邏輯創建PK值,那麼您不需要'scope_identity()'。只需將'@ parentId'作爲參數傳遞給存儲過程即可。 – RePierre
相關問題
- 1. CodeIgniter - 使用事務插入多個表
- 2. 如何使用數據表在數據庫中插入多個表單
- 3. 如何使用SSIS將多個表中的數據插入到多個表中?
- 4. 如何插入多個數據到表
- 5. laravel使用DB插入數據:事務
- 6. 將數據插入到jdbc中的單個事務中的多個表中
- 7. 數據沒有被插入到使用事務的表中
- 8. 如何在mysql中的多個表中插入大量數據
- 9. 如何在Yii中插入多個表中的數據
- 10. 如何在表中存在多個外鍵時插入數據
- 11. 如何使用php插入多個錶行到數據庫
- 12. 如何插入多個表中的數據到一個表
- 13. 插入多個數據庫在同一事務
- 14. 使用WCF事務插入到多個表
- 15. 使用JDBC在MyQSL中插入多個數據(列表)
- 16. 使用Oracle存儲過程在多個表中插入數據
- 17. JSF - 如何在數據庫表中插入多個值
- 18. 如何在多個表中插入數據
- 19. Jpa多對多如何將數據插入到兩個表中
- 20. 在laravel中使用一個函數在多個表中插入數據
- 21. 如何使用php將多行數據插入到mysql表中?
- 22. 將數據插入到多個表中
- 23. 將數據插入到多個表中
- 24. 插入數據在多個表
- 25. 在OnClickListener事件中在數據庫中插入多個值
- 26. 使用php在數據庫中插入多個數據?
- 27. 如何保證所有數據在同一事務中被插入到表中?
- 28. 在一個函數中使用JDBC執行數據插入到多個表中
- 29. 如何在mongoDB中使用json輸入多個表數據
- 30. 在單個事務中在多個表中保留數據
在過程中使用循環。告訴我你的代碼,也許我可以幫你 – starko