Enterprise Manager 認定 View 優先級高於 Function,忽略 sysdepends 實際相依鏈。測試案例:
fnT1 ← vwT1 ← fnT2(vwT1 參考 fnT1,fnT2 參考 vwT1)
CREATE FUNCTION fnT1() RETURNS INT AS BEGIN RETURN 123 END GO
CREATE VIEW vwT1 AS SELECT aa=dbo.fnT1() GO
CREATE FUNCTION fnT2() RETURNS TABLE AS RETURN (SELECT * FROM vwT1) GO
-- 1. 先 DROP 三個物件
-- 2. 建立順序:vwT1 → fnT1 → fnT2 (錯誤!)
CREATE VIEW vwT1 AS SELECT aa=dbo.fnT1() GO
-- 此時 fnT1 尚不存在!
CREATE FUNCTION fnT1() ... GO
CREATE FUNCTION fnT2() ... GO
Server: Msg 208, Level 16, State 1, Procedure vwT1, Line 4
Invalid object name 'dbo.fnT1'.
一眼可見:建立 View 比 Function 早,違反相依關係。此為 EM 腳本產生工具嚴重缺陷,導致產生腳本無法直接執行,需手動調整順序。