使用 動態 SQL, 好像是可以處理。
1> CREATE procedure fpinput_proc
2> AS
3> BEGIN
4>
5> DECLARE @sql VARCHAR(MAX);
6> SET @sql =
7> "CREATE TRIGGER AfterDeleteVIP "
8> + " ON VIP "
9> + " FOR DELETE "
10> + "AS "
11> + "BEGIN "
12> + " DELETE FROM VB "
13> + " WHERE "
14> + " V_No IN (SELECT V_NO FROM deleted); "
15> + "END; "
16>
17> EXECUTE (@sql);
18> END;
19> go
1> begin
2> exec fpinput_proc;
3> end
4> go
1> select
2> tri.name AS TriggerName
3> from
4> sys.triggers tri
5> go
TriggerName
------------------------------------------------------
AfterDeleteVIP
也就是把那一段 建立觸發器的語句, 放到一個 @Sql 的變數中。
然後 EXECUTE (@sql);
那麼在儲存過程執行完畢後,觸發器就建立了。
你上面那個 建立 檢視的例子, 也可以這麼操作。
使用 動態 SQL, 好像是可以處理。
1> CREATE procedure fpinput_proc
2> AS
3> BEGIN
4>
5> DECLARE @sql VARCHAR(MAX);
6> SET @sql =
7> "CREATE TRIGGER AfterDeleteVIP "
8> + " ON VIP "
9> + " FOR DELETE "
10> + "AS "
11> + "BEGIN "
12> + " DELETE FROM VB "
13> + " WHERE "
14> + " V_No IN (SELECT V_NO FROM deleted); "
15> + "END; "
16>
17> EXECUTE (@sql);
18> END;
19> go
1> begin
2> exec fpinput_proc;
3> end
4> go
1> select
2> tri.name AS TriggerName
3> from
4> sys.triggers tri
5> go
TriggerName
------------------------------------------------------
AfterDeleteVIP
也就是把那一段 建立觸發器的語句, 放到一個 @Sql 的變數中。
然後 EXECUTE (@sql);
那麼在儲存過程執行完畢後,觸發器就建立了。
你上面那個 建立 檢視的例子, 也可以這麼操作。