在MS SQL Server 2005中是否有mysql的INSERT IGNORE等價物?在MS SQL Server 2005中插入IGNORE?
3
A
回答
2
你可以使用INSTEAD OFtrigger來實現類似這樣的事情,攔截默認的插入操作以執行檢測到現有行的更新。與MySql的變體不同,但更靈活。
-2
我不知道你的申請是什麼 - 也許REPLACE
可以幫助?!
2
我不熟悉mysql INSERT IGNORE功能,但我正在閱讀的文檔聽起來像它所做的一切都是忽略(無提示失敗)嘗試插入帶有表中已存在的主鍵的記錄。
如果這是您要查找的內容,SQL Server具有類似的功能,但您在創建時必須將其應用於主鍵或唯一約束。
閱讀關於the IGNORE_DUP_KEY option的獨特索引。
+1
不幸的是,它不工作,因爲我認爲它會。它不會發出錯誤,但會給出警告,這也不是我的解決方案。 – JohnM2 2010-05-03 20:04:35
0
我會說你有兩個可行的方案:
一個是你嘗試之前過濾掉錯誤的價值觀。也許增加一個where子句就像:
WHERE newValues NOT IN (SELECT pk_col FROM yourTable)
或者你可以使用try-catch,試試這個:
BEGIN TRY
INSERT INTO yourTable(pk_col,other_date)
SELECT 'PK Value That Already Exists','saflaksdfj'
END TRY
BEGIN CATCH
--You can choose to do anything in response to an error like nothing!
END CATCH
相關問題
- 1. 插入到SQL Server 2005中
- 2. SQL Server 2005插入圖像
- 3. 在SQL Server 2005中批量插入?
- 4. 無法插入大不列顛英鎊在MS SQL Server 2005
- 5. 在MS SQL Server 2005中不支持OVER?
- 6. MS SQL Server 2005的sp_stored_procedures
- 7. 爲MS SQL Server 2005的
- 8. 批量插入到SQL Server 2005中
- 9. Sql Server 2005 - 插入如果不存在
- 10. 如何在SQL Server 2005中插入(更新或插入)
- 11. 如何在Visual Studio中插入插入/ SQL Server 2005
- 12. 重命名MS SQL Server 2005中的列
- 13. MS SQL Server 2005中 - 將類似數據
- 14. 從MS SQL Server 2005中選擇數據
- 15. MS SQL Server 2005中的存儲過程
- 16. SQL查詢,通配符,MS SQL SERVER 2005
- 17. SQL Server 2005與外鍵衝突插入
- 18. SQL Server 2005 - 大容量插入問題
- 19. 批量插入到SQL Server 2005問題
- 20. SQL Server 2005的批量插入
- 21. SQL Server 2005批量更新或插入
- 22. SQL Server 2005 - 批量插入失敗
- 23. SQL Server 2005/2008:在Transact-SQL的varbinary(max)列中插入文件
- 24. 加入 - SQL Server 2005中
- 25. 自加入SQL Server 2005中
- 26. 在SQL Server 2005中
- 27. SQL和加入SQL Server 2005
- 28. 找到最後插入MS SQL SERVER
- 29. 多行插入MS Sql Server使用C#
- 30. 從SQL Server 2005導入查詢的結果集到MS Excel中
除了文本替換MS SQL Server沒有這樣的功能。有一個MERGE,但只有SQL2008。 – 2010-05-03 19:20:50