0

私はhttp://forge.mysql.com/wiki/Triggersからトリガーを学び 、私は持っています:

create trigger bi_emps_fer before insert on emps for each row
begin

    declare newsal numeric default 0;
    declare namelength, l_loop int default 0;

    set namelength = length(new.emp_name);

    while l_loop < namelength do

       set newsal := newsal   new.salary;

       set l_loop := l_loop   1;

    end while;

    set new.salary = newsal;

end

とエラー:

1064 - SQL 構文にエラーがあります。4行目のnear ''を使用する正しい構文については、MySQLサーバーのバージョンに対応するマニュアルを確認してください

なぜ?私はMySQL 5.5.8とphpmyadmin 3.3.9を使用しています

4

1 に答える 1

5

区切り文字を指定しましたか?

delimiter #

create trigger bi_emps_fer before insert on emps for each row
begin

    declare newsal decimal(10,2) default 0;

    // do sql stuff here but not what you're doing !

    set new.salary = newsal;

end#

delimiter ;
于 2011-06-09T12:06:31.937 に答える