-- 我现在想有这样一个SQL脚本自动执行 -- 例如:
--  如果这个triggerX存在,不执行任何操作
--  ELSE 
--  如果这个触发器不存在,就创建这个触发器 create trigger triggerX.... 跪求...
  
  

解决方案 »

  1.   

    没有这种SQL脚本,只能用存储过程来实现。
    可以从系统表中判断是否有这个 TRIGGER, 但无法在SQL语句中实现。
      

  2.   

    在SP中似乎也不能动态创建TRIGGER(5.1.12)
      

  3.   

    通过
    information_schema.TRIGGERS
    这个表判断吧
      

  4.   

    换个思路不用 SQL脚本,直接用操作系统脚本。
      

  5.   

    1:把TRIGGER的脚本写好,放到C:\A.TXT里面
    2:在存储过程里面通过information_schema.TRIGGERS判断是否存在,如果不存在,那么就SOURCE C:\A.TXT
    注意delimiter // 转换一下提交符。
      

  6.   


    在SP里面能执行source 吗? 我记得不行的吧
      

  7.   

    在存储过程里进行条件判断以后,直接create trigger
      

  8.   

     这种方法不行吧在存储过程里面不能直接create trigger。。吧。。
      

  9.   

    SP中不能SOURCE,写个系统脚本
    J:\NEWMYSQL\bin>mysql -u root -p123L -e "SELECT '1' INTO OUTFILE 'r:/temp/123.tx
    t'from  information_schema.TRIGGERS where trigger_name='newproduct'";
    通过 判断r:/temp/123.txt是否存在创建TRIGGER