| 形態 | 優點 | 缺點/限制 |
|---|---|---|
| Transact-SQL Scripts (.sql) | 可由QA直接執行、版本控管易 | 無參數化、重用性低 |
| Stored Procedures | 封裝邏輯、參數化、預編譯、網路流量少、安全性高 | 需部署到DB、版本管理稍繁 |
| Views | 虛擬表、簡化複雜Join、安全性隔離 | 不支援參數、多表View不可更新、不支援ORDER BY |
建議:優先轉為存儲過程,實現應用邏輯與物理實作分離;交叉表視資料鮮度需求轉為View或排程物化表。
CREATE TABLE ... AS SELECT / 臨時表 / DTS套件排程-- Access PARAMETERS
PARAMETERS [Beginning Date] DateTime, [Ending Date] DateTime;
SELECT ... WHERE Orders.[Shipped Date] Between [Beginning Date] And [Ending Date]
-- T-SQL Stored Procedure
CREATE PROCEDURE EMP_SALES_BY_COUNTRY
@BeginningDate DATETIME, @EndingDate DATETIME
AS
SELECT ... WHERE Orders.[Shipped Date] BETWEEN @BeginningDate AND @EndingDate
#table(Session級)、##table(全域),查詢極快,DTS可自動化排程。