我正在考慮即時創建存儲過程。即時創建存儲過程。有什麼風險/問題?
即運行CREATE PROCEDURE ...當(web)應用程序正在運行時。
它可能導致什麼風險或問題?
- 我知道數據庫帳戶需要額外的權限。
- 它不會每天都發生。只是不時。
- 我使用的是sql server,對mysql和postgres也很感興趣。
UPDATE1:
感謝您的意見,我正在考慮創建存儲過程的新版本和切換,而不是改變SP。例如:SP1 - > SP2 - > SP3
UPDATE2:
的原因:由於自定義字段的
我的架構更改(未知數和列型) 我試圖動態SQL和sp_executesql的第一。當然,它的作品。動態sql的工作原理爲1,2,3簡單更新,插入。
但它太難看了,很多工作,它不能很好地與存儲過程混合,因爲在存儲過程中使用sql參數化的問題,並且編譯時不知道參數的數量和類型(很長的故事)。
至少這個解決方案的基本情況並不複雜。 sp的邏輯不會改變。對於每個自定義字段,我必須爲sp添加一個新參數並添加一列以更新,插入等。
我還考慮過使存儲過程參數動態化,如接受任何數量和類型的參數但無法找到的sp_executesql一種方式。
如果你不介意我問,你能詳細說明一些你考慮這個選項的「很好的理由」嗎? – ninesided 2008-10-23 07:25:24
由於自定義字段,模式正在更改。我可以去動態SQL,但缺點是性能問題,並使其他事情變得困難。動態sql在簡單的情況下運行良好,但對於一些複雜的存儲過程並不適用。有很多細節... – user30683 2008-10-23 07:33:50