2014-09-11 7 views
-3

PostgreSQL에서 함수를 최적화하기 위해 PREPAREEXECUTE 명령을 연구 중이지만 몇 가지 문제점이 있습니다.PostgreSQL에서 INTO와 PREPARE 사용하기

PREPARE my_query(int) AS SELECT id FROM table1 WHERE id = $1; 

그래서, 나는이 같은 변수에이 결과 (ID)를 저장해야합니다 :

나는 다음과 같은 PREPARE 명령이

EXECUTE my_query(10) INTO var_1; 

을하지만 구문 오류가 발생했습니다. 이 작업을 수행하는 올바른 방법은 무엇입니까?

+1

[Postgres 기능에서 절차 언어] (http://www.postgresql.org/docs/current/interactive/xplang.html)를 사용하는 경우 어느 것을 선언해야합니까? 베스트는 함수가 작동하지 않더라도 함수 (헤더 및 모든 것을 포함)에 대한 최소한의 완전한 코드 예제를 보여줍니다. 왜이 pg-9.2 *와 * pg-8.4 태그를 붙이겠습니까? –

답변

2

귀하의 질문에 실제로 어떤 의미가 없습니다.

PL/PgSQL에서 준비된 명령문을 실행하려는 경우 운이 좋지 않습니다. EXECUTE 명령은 PL/PgSQL에서 다른 용도로 예약되어 있습니다. PL/PgSQL 계획은 준비되어 있으며 기본적으로 캐시되어 있습니다. :)

INTO보다 PL/PgSQL 외부에서이 작업을 수행하려는 경우 결과를 다음에 쓰려고합니다. 새 테이블. 그럴 필요가 없거나 자주 필요하지 않은 것.

+0

Postgresql 계획이 기본적으로 준비되고 캐시되어 있다면 EXECUTE 및 PREPARE 명령을 어떻게 사용합니까? – Tux

+0

이것은 PL/PgSQL 컨텍스트 내에 있으며 일반적으로 이러한 방법으로 준비되고 캐시되지 않습니다. 그래서 질문이 나에게 불분명 한 이유입니다. 변수에 쓰는 것은 PL/PgSQL을 제안합니다. – Wolph

+0

나는 당신의 요점을 이해하지 못합니다. 위의 두 줄을 Postgres 함수 내부에서 사용하려고합니다. – Tux