我需要編寫一個通用過程,該過程根據參數爲表中列的一列或不列的值設置值。任何想法如何去做。如何處理更新存儲過程中的可選參數
0
A
回答
0
我猜你想要的東西,如:
CREATE PROC UpdateProc
@RowID UNIQUEIDENTIFIER,
@Parameter1 NVARCHAR(50) NULL,
@Parameter2 INT NULL
AS
SET NOCOUNT ON
GO
IF @Parameter1 IS NOT NULL
BEGIN
UPDATE MyTable
SET Column1 = @Parameter1
WHERE ID = @RowID
END
IF @Parameter2 IS NOT NULL
BEGIN
UPDATE MyTable
SET Column2 = @Parameter2
WHERE ID = @RowID
END
它不覺得特別優雅,但如果你不知道/無法保證其參數將被傳遞我不知道的更好的方法比依次測試NULL
。
+0
我可以通過使用 @ Parameter1 NVARCHAR(50)NULL,設置ID = ISNULL(@ Parameter1,id) - 如果參數傳遞爲空,它將該值設置爲null – sam
+0
不知道我明白你的意思 - 你能給我多一點你想做的事情嗎? – PhilPursglove
相關問題
- 1. 更新存儲過程如何具有可選參數?
- 2. 當我調用存儲過程時處理可選參數
- 3. 如何處理存儲過程中的NULL參數
- 4. ODP.NET存儲過程和可選參數
- 5. 如何在T-SQL存儲過程中使用可選參數?
- 6. 帶有可選參數的SQL Server存儲過程更新錯誤的列
- 7. 如何處理ColdFusion中的SQL存儲過程調用中的默認參數?
- 8. 處理超過8000個字符的存儲過程參數
- 9. 是否有任何理由不使用存儲過程中的可選參數?
- 10. 如何處理存儲過程?
- 11. 如何編寫處理存儲過程
- 12. 存儲過程如何處理索引?
- 13. MySql存儲過程如何處理?
- 14. 如何處理SQL存儲過程中更新查詢的性能問題?
- 15. 如何處理可選的GET參數?
- 16. 在MySQL中的存儲過程中編寫可選參數?
- 17. SQL Server中存儲過程中的可選參數
- 18. 如何僅處理管理GAE-數據存儲更新
- 19. 存儲過程中可選參數的最佳解決方案
- 20. SQL存儲過程中的可選參數
- 21. 可選SQL 2008存儲過程中的子句/參數?
- 22. 處理存儲過程中的超時
- 23. 存儲過程中的錯誤處理
- 24. 存儲過程中的錯誤處理
- 25. 處理插入和更新的存儲過程是不可能的?
- 26. 具有多個OUT參數的Java存儲過程批處理
- 27. 存儲在存儲過程中的可變參數
- 28. 處理存儲過程和函數
- 29. 如何更新這個存儲過程?
- 30. No_Data_Found異常處理刪除和更新存儲過程
你是什麼意思通用?它可以針對任何表格工作? –
聽起來像你正在尋找創建動態SQL,你應該仔細考慮,然後再走下去的路徑 – Kane