我正在尝试创建一个引用PostgreSQL 8.4中临时表的函数。根据我的研究,似乎最好的方法是使用
我遇到的错误是:
EXECUTE
命令从定义的字符串执行查询。不幸的是,在尝试创建函数时,我遇到了奇怪的语法错误。我的当前函数定义如下:CREATE OR REPLACE FUNCTION example() RETURNS void AS $$
EXECUTE 'INSERT INTO table1 (col1, col2, col3) SELECT col1, col2, col3 from temp_table';
$$ LANGUAGE SQL;
我遇到的错误是:
ERROR: syntax error at or near "'INSERT INTO table1 (col1, col2, col3) SELECT col1, col2, col3 from temp_table'"
LINE 2: execute 'INSERT INTO table1 (col1, col2, col3) SELECT col1...
无论字符串字面量中实际包含什么,我似乎都会遇到相同的错误。
我的问题是,1)使用EXECUTE功能的正确语法是什么,2)有没有更好的方法编写引用临时表的函数?