2014-07-11 1 views
0

일부 변수에 할당 된 쿼리가 있으며 일부 값을 설정하여 쿼리를 실행하려고합니다.PostgreSQL : 'execute'를 사용하여 값을 변수로 설정하는 방법은 무엇입니까?

: SQL 서버에서

create or replace function funct1(a int) 
returns void as 
$$ 
declare 
     wrclause varchar := ''; 
     sqlq varchar ; 
     t varchar; 
begin 
    IF (a IS NOT NULL) THEN 
     wrclause := 'where C = '|| a ||' AND C IN ('|| a || ')'; 
    END IF; 


    sqlq := ' t :=select string_agg(''select *, abcd as "D" from '' || table_namess ||, '' Union all '') as namess 
    from tablescollection2 ud 
    inner join INFORMATION_SCHEMA.Tables so on ud.table_namess = so.Table_name ' || wrclause; 

     raise info '%',sqlq; 

     execute sqlq; /* How to set value to variable f.ex (t varchar output,t output)*/ 

     raise info '%',t; 
end; 
$$ 
language plpgsql; 

: 우리는

exec sp_executesql @sqlq, N'@t nvarchar(max) output', @t OUTPUT; 

을 사용할 수 있습니다 : 나는 PostgreSQL의에서 할 수있는 방법은?

MyTry :

execute sqlq(t varchar output,t output); /* getting error near varchar */ 

답변

1

당신은

+0

plpgsql-statements는 정말 감사합니다 많은 도움을

EXECUTE sqlq INTO target_variable; 

처럼 뭔가를 할 수 있습니다. – Meem

관련 문제