我无法让这个代码块在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>
答案 0 :(得分: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
)