【问题标题】:iBATIS and dblink?iBATIS 和 dblink?
【发布时间】:2017-02-28 07:57:29
【问题描述】:

我正在使用 PostgreSQL,并且我使用 dblink 功能来更新远程数据库上的数据。我的项目使用 iBATIS 来处理数据库。

我需要运行带参数的查询语句,但问题是 db_link 要求 SQL 用引号括起来。而且iBATIS看不懂..

我有 iBATIS sql:

    SELECT
    dblink_exec(
      'host=192.168.1.1 port=5432 user=abc dbname=wms password=abc',
      'UPDATE m_user_profile 
        first_name = #4#,
        last_name = #5# ,
        mobile_no = #6#
    WHERE user_id = CAST(#3# AS numeric)'
   );

但是由于sql是用引号括起来的,所以iBATIS找不到要替换的参数。

我有什么解决办法吗?

【问题讨论】:

标签: sql postgresql ibatis dblink


【解决方案1】:

格式有帮助吗?喜欢:

SELECT
    dblink_exec(
      'host=192.168.20.60 port=5432 user=clk dbname=clkdb_wms password=clk',
      format('UPDATE m_user_profile 
        first_name = %L,
        last_name = %L ,
        mobile_no = %s
    WHERE user_id = CAST(%s AS numeric)',#4#,#5#,#6#,#3#)
   );

【讨论】:

    猜你喜欢
    • 2011-07-07
    • 2015-07-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多