After Insert
トリガーを作成しようとしていますが、実行するとエラーは発生しませんが、mySQLサーバーは無視してしまいます。mysqlトリガーが認識されない
トリガーを作成した後にテーブルを検査すると、トリガーセクションは空のままです。コードは次のとおりです。
delimiter $$
CREATE TRIGGER t_calcula_preco AFTER INSERT ON produto
begin
declare id = last_insert_id();
declare tipo_id;
declare iva;
declare valor_iva;
declare preco_sem_iva;
-- guardamos o ID do tipo de jogo
select new.prod_tdj_id into tipo_id from produto where new.prod_id = id;
-- guardamos o ID do iva
select tdj_iva_id into iva from tipo_de_jogo where tdj_id = tipo_id;
-- guardamos o valor do IVA
select valor into valor_iva from iva where iva_id = iva;
-- guardamos o valor do preco sem iva
select new.prod_preco into preco_sem_iva from produto where new.prod_id = id;
-- agora calculamos o preco com iva
update produto set prod_preco = (preco_sem_iva + (preco_sem_iva * valor_iva/100));
end ;
delimiter ;
どのようなアイデアですか?
達成したいこと:テーブル "Produto"に行を挿入した後、別のテーブルの別の値に従ってこれらの値の1つを更新したいとします。
はEDIT:あなたを私はコードを複数回実行してみました
、それもトリガを作成doenst思わまたはそうでなければ、私は私の最初のコメントで述べたよう
クライアントをリフレッシュしてみてください。ところで、テーブルのトリガーセクションは何ですか? – Mihai
それは私が "テーブルを検査する"私のSQLサーバー上で、それは列、ストアプロシージャ、トリガなどのセクションを持って、私はトリガコードを作成した後でもトリガは空です。 –
私はコードを何度も実行しようとしましたが、それはトリガを作成するdoenstだと思われます。それ以外の場合、エラー "Trigger already exists"が表示されます –