SQLite では、SQL ステートメントから呼び出すことができるカスタム関数を定義できます。
このメカニズムを使用して、アプリケーションでのトリガー アクティビティの通知を取得しようとしています。つまり、次のようなものです。
CREATE TRIGGER AfterInsert AFTER INSERT ON T
BEGIN
-- main trigger code involves some extra db modifications
-- ...
-- invoke application callback
SELECT ChangeNotify('T', 'INSERT', NEW.id);
END;
ただし、ユーザー定義関数は現在のデータベース接続にのみ追加されます。を定義していない他のクライアントが存在する可能性があり、ChangeNotify
それらにno such function
エラーが発生することは望ましくありません。定義されている場合にのみ関数を呼び出すことは可能ですか?
代替ソリューションも高く評価されます。