我在TRIGGER
创建了一个PGSQL
来通知我的 c#app ,当我的TABLE
中创建了一个新的ROW并且列上的条件匹配时值。
将 msgfail
发送到c#:
CREATE OR REPLACE FUNCTION notify_fail() RETURNS TRIGGER AS '
BEGIN
NOTIFY msgfail;
RETURN NULL;
END;
'LANGUAGE plpgsql;
TRIGGER在新ROW为INSERT时调用FUNCTION:
CREATE TRIGGER failtrigger AFTER INSERT OR UPDATE
ON jm FOR EACH ROW
EXECUTE PROCEDURE notify_fail();
WHEN (NEW.message_string LIKE '%error%')
EXECUTE PROCEDURE notify_fail();
到目前为止,此工作正常。
问题:我想修改函数以将一个或多个列的内容返回给c#应用程序。
If a new ROW is INSERT then call FUNCTION. Inside FUNCTION: RETURN Column1.
这可能吗?
Npgsql.dll版本:2.0.11.91
答案 0 :(得分:0)
目前,正如克雷格所说,npgsql不支持这一点。
您可能会发现有助于管理此问题的一组工具是http://pgxn.org/dist/pg_message_queue/
在高性能配置中支持多个订阅者方面它并不完全正常,但它很简单,并且可以很好地获取任意数据以通知侦听器。