我现在要将ms-sql的触发器 改为 mysql 的出发器,有这样一个问题
ms-sql 有语句:select @entityId = entityid,@ips  = ltrim(RTRIM(value)) from inserted where name = 'ipAddress'
现在想改为 mysql怎么改;
如果没有后面的条件,好像可以用new.entityid 来获取刚插入的值,但是现在有条件,怎么改?

解决方案 »

  1.   

    select entityid,ltrim(RTRIM(value)) into @entityId ,@ips  from .....
    请参见mySQL的语法手册
    http://dev.mysql.com/doc/refman/5.1/zh/index.html
      

  2.   

    非常感谢,还有问题,一会就给分!
    是改为 下面的语句吗?编译通过了,还有个问题: inserted 这里用on 后面的表明来代替是吗?
    select entityid, ltrim(RTRIM(value)) into @entityId, @ips from mytestTab where name = 'ipAddress';
      

  3.   

    如果 NAME为新插入的值
    if new.name= 'ipAddress' then
    set @entityId=entityid;
    set @ips=ltrim(RTRIM(value));
    end if
      

  4.   

    楼上的回复我没怎么看懂,你的意思是我得语句可以这样等校改为mysql的语句吗?那上面那个可以吗?
    或者我改的语句可以吗?
      

  5.   

    示例:
    DELIMITER $$
    drop trigger if exists rr1$$
    CREATE
        /*[DEFINER = { user | CURRENT_USER }]*/
        TRIGGER `test`.`rr1`  AFTER INSERT
        ON `test`.`lsb3`
        FOR EACH ROW BEGIN
    if new.name= 'ipAddress' then
    set @entityId=entityid;
    set @ips=ltrim(RTRIM(value)); 
    end if;
        END$$