PostgreSQL CREATE TEMPORARY TABLE внутри функции plpgsql

Я пытаюсь создать функцию, которая делает это:

drop table t_rv_openitem;
select * into t_rv_openitem from rv_openitem;
select * from t_rv_openitem;

Иногда я смущаюсь, когда дело доходит до функций в PostgreSQL, и получаю эту ошибку:

Произошла ошибка:

ERROR:синтаксическая ошибка в строке «DROP» 3 или рядом с ней:DROP TABLE t_rv_openitem;

Я знаю, что это кажется простой задачей, но я рву на себе волосы, пытаясь понять это.

Вот полный оператор создания функции:

CREATE OR REPLACE FUNCTION adempiere.update_t_rv_openitem()
  RETURNS rv_openitem AS
$BODY$

Drop table t_rv_openitem;
select * into t_rv_openitem from rv_openitem;
select * From t_rv_openitem;

$BODY$
  LANGUAGE plpgsql VOLATILE
  COST 100;
ALTER FUNCTION adempiere.update_t_rv_openitem() OWNER TO adempiere; 
5
задан robkriegerflow 7 April 2016 в 04:15
поделиться