(mutable-array #[0 2 0 2 3 0 1])
Greenplum(基于Postgres 8.2)不支持这种'使用'语法,如何在Greenplum 4.3中使用此运算符
错误信息:
错误:“使用”第1行或附近的语法错误:... LECT'INSERT INTO '|| 1美元||'价值(($ 1)。)'使用$ 2 ^ QUERY:选择'INSERT INTO'|| 1美元||'价值(($ 1)。)'使用$ 2 CONTEXT:PL / PgSQL函数中的SQL语句“dp_insert_trigger”附近 第13行
答案 0 :(得分:0)
Greenplum中的动态SQL需要创建整个SQL语句,并且它不支持使用new"。
v_sql := 'insert into ' || p_target_table_name || ' (col1, col2, col3) ' ||
'select col1, col2, col3 from ' || p_source_table_name;
execute v_sql;
在Greenplum中应避免使用单例插入语句,因为它非常慢。相反,做批量操作。这种功能的缺失从未出现过,因为非常不鼓励逐行插入表格,因此不需要这个功能。
答案 1 :(得分:-1)
版本8.4中引入了动态命令的USING
子句。在8.2中,您必须使用字符串连接和quote_literal()
,quote_identifier()
和quote_nullable()
函数将字符串与其所有动态部分组合在一起。
PG 8.2 is unsupported since December 2011甚至可敬的8.4超过其生命周期超过18个月。你应该真的升级。