0

MySQLプロシージャは初めてです。PLpgSQLで通常行うコードをエミュレートする必要があります。次のようなものです。

DROP FUNCTION IF EXISTS "aprtr_controlo_tabelas_ins_upd" () CASCADE;
CREATE OR REPLACE FUNCTION "aprtr_controlo_tabelas_ins_upd" ()         
RETURNS trigger AS

$BODY$
        BEGIN
            IF (TG_OP = 'INSERT') THEN
                NEW.data_ult_actual := current_timestamp;
                NEW.id_utiliz_ins := current_user;
            RETURN NEW;
            ELSEIF (TG_OP = 'UPDATE') THEN
                NEW.data_ult_actual := current_timestamp;
                NEW.id_utiliz_upd := current_user;
            RETURN NEW;
            END IF;

            RETURN NULL;
        END;
$BODY$
        LANGUAGE PLpgSQL
        CALLED ON NULL INPUT
        VOLATILE
        EXTERNAL SECURITY DEFINER; 

MySQLでトリガーを返すプロシージャを作成することは可能ですか?または、プロシージャコードを使用して、INSERTまたはUPDATEの操作でトリガーと呼ぶことはできますか?

よろしくお願いします、

4

1 に答える 1

2

MySQLは、関数の戻り型として特定のデータ型のみをサポートします。MySQLのドキュメントによるtriggerと、データ型ではありません。データ型としてのカスタムオブジェクトは機能AFAIKではありません。サポートされているデータ型について詳しくは、こちらをご覧ください。

参照:MySQLCREATEFUNCTION構文

于 2012-06-05T14:12:38.820 に答える