0

我无法让这个代码块在 ColdFusion 的 CFQuery 中对 postgres 运行我的查询:

<cfquery name="uiCustomColumn" datasource="#arguments.dsn#">
    DECLARE resultValue int;
    DECLARE nextId bigint;
    BEGIN
        IF (( select count( udc_id ) from user_defined_column WHERE udc_is_active = true ) >= 10) THEN
            INSERT INTO user_defined_column(udc_id)
            VALUES(<cfqueryparam value="#this.getLabel()#" cfsqltype="cf_sql_varchar" maxlength="25">)
        END IF;
    END;
</cfquery>
4

1 回答 1

2

您所拥有的是plpgsql语法(默认的 PostgreSQL 过程语言),而不是 SQL。

您需要将其包装在DO命令中或CREATE FUNCTION使用它。
或者用 SQL 语法重写它。这些方面的东西:

INSERT INTO user_defined_column(udc_id)
SELECT <this.getLabel()>
WHERE (
   SELECT count(udc_id) > 9
   FROM   user_defined_column
   WHERE  udc_is_active
   )
于 2013-01-11T07:25:17.737 回答