我有2個表。如果該值存在於其他表中,則需要在插入到一個表之前進行檢查。如何限制插入已存在於其他表中的值
回答
我建議,你應該先檢查是否打算在每個要插入的記錄請求。
Create Proc Testing
as
Set NoCount ON
Set XACT_ABORT ON
Begin Try
Begin Tran
IF Not Exists(SELECT 1 FROM Table2 i JOIN Table1 t ON i.key = t.key)
Begin
//Your insert statement
END
Commit Tran
End Try
Begin Catch
Rollback Tran
End Catch
這並不能完全回答問題。這將檢查該值是否存在於兩個表中。問題是如何在插入'Table2'之前檢查它是否在'Table1'中。如果值僅存在於「表格1」中,您的代碼將允許插入。 – NullRef 2011-06-15 22:08:01
使用INSERT trigger也許?
我對語法不太確定。
CREATE TRIGGER InsertTableTrigger ON Table1 FOR INSERT
AS
BEGIN
IF EXISTS (SELECT 1 FROM Inserted i JOIN Table1 t ON i.key = t.key)
BEGIN
RAISERROR('Transaction Failed.',16,1)
ROLLBACK TRAN "insert on Table1"
END
END
GO
插入用於訪問插入值。
如何使用插入值? – user194076 2011-06-15 02:16:24
更新了答案。您使用插入來訪問值。 – Lobo 2011-06-15 02:27:33
假設我插入了一批100條記錄。在100箇中,它已經在其他表中包含40個記錄,並且60個是新的記錄。根據上面的說法,它應該回滾完整的批量! – Pankaj 2011-06-15 04:44:48
- 1. 如何從其他表中插入值?
- 2. DB2如何基於2個其他表將值插入表中?
- 3. 如何在Hibernate中的表中插入值到其他表中?
- 4. 如何向表中插入值基於其他表中列的總和值?
- 5. 限制插入/更新,如果在其他表
- 6. 使用ConditionExpression來限制在其他表中不存在ID時插入
- 7. 如何在postgresql中插入其他表的值?
- 8. 如何允許用戶將值插入已存在的表中?
- 9. 如何從一個表中查找值以限制其他表?
- 10. 如何插入數據,而在其他表中複製數據
- 11. 如何限制起始值來自mysql中的其他表
- 12. 如何將標識值插入到SQLXML中的其他表中
- 13. 如何從其他表中插入值到現有表
- 14. 如何更新sqlite表,如果記錄存在其他插入?
- 15. 如何從其他表中插入外鍵約束的值?
- 16. 如何從其他表插入表格
- 17. 如何在已經存在其他集合的情況下插入集合
- 18. 在創建新表格時插入其他表格中的值
- 19. 如何在mysql中插入其他列值時繼承列值?
- 20. 如何更新列,如果值不存在於其他表
- 21. 如何在其他NSManagedObjectContext中插入NSManagedObject?
- 22. 如何插入表依賴於其他表
- 23. 在存儲過程中插入其他表的列中的值的外鍵列
- 24. 如何保存輸入值並將值存入其他輸入?
- 25. 從其他表格插入值
- 26. SQL插入值從其他2個表
- 27. 如何在此ListView中插入用於插入其他內容的圖像?
- 28. 基於其他表值的SQL插入行
- 29. 限制到其他表
- 30. 批量插入,插入其他值
您是否需要爲單個操作或* any *插入操作限制插入? – 2011-06-15 02:21:26
對於所選表格上的任何插入操作 – user194076 2011-06-15 02:22:24