比如:
create Trigger TriggerTest On ColumnDefine
after insert
as
begin
  create view test
  as 
  select * from FilterColumn
end在创建这个Trigger的时候出现错误:
Msg 156, Level 15, State 1, Procedure TriggerTest, Line 5
Incorrect syntax near the keyword 'view'.请问应该怎么解决, 非常感谢!

解决方案 »

  1.   

    估计可能是CREATE必须在第一行出现,改成这样:
    BEGIN
    IF EXISTS (SELECT TABLE_NAME 
       FROM   INFORMATION_SCHEMA.VIEWS 
       WHERE  TABLE_NAME = N'<view_name, sysname, view_test>')
        DROP VIEW <view_name, sysname, view_test>
    GOCREATE VIEW <view_name, sysname, view_test>
    AS 
    <select_statement, , SELECT * FROM authors>
      

  2.   

    Trigger里面不允许create view的
      

  3.   

    嗯, 现在明白了, 得用DML来代替
      

  4.   

    恩,对,触发器里不能用CREATE语句的.
      

  5.   

    正解,触发器里不能用CREATE语句的.