是否可以编写可以将数据写入SQL Server 2008数据库的Postgresql触发器?我有一个Windows Postgresql DB(9.1),并且有一个现有的触发器,可以将数据写入名为finaldata
的表中。然后,我可以在finaldata
表上有一个触发器,它将通过ODBC或其他连接选项写入SQL Server吗?
我坚持这个!我应该尝试使用plpgsql或其他语言更好的选择吗? 我编写函数的标准方法是:
CREATE OR REPLACE FUNCTION "public"."finaldata" () RETURNS trigger AS
$body$
DECLARE
BEGIN
"Connect to SQL Server and write data to single table newdata "
END;
$body$
LANGUAGE 'plpgsql'
答案 0 :(得分:1)
有DBI-Link可以使用plperl和ODBC驱动程序来访问SQL Server(未经测试)。但请注意,对于正确的事务管理(即SQL服务器上的数据始终反映PostgreSQL服务器上的数据),您需要自己实现two-phase commit protocol或类似的东西。
答案 1 :(得分:1)
9.1支持外部表,允许您在Postgresql中针对实际位于其他数据库中的表运行选择/更新等。
这样可以使用postgresql触发器(使用任何语言)。
有一个可用于ODBC的外部数据包装器,可用于连接到SQL Server。