(x 정수, y 정수)로 정의 된 "작은"테이블의 x 열을 반환하는 plpgsql을 사용하여 함수 내에서보기를 만들려고합니다.관계가 없습니다. PLPGSQL
create or replace function skyline_naive2(dataset text) returns setof integer as
$$
declare
fullx text;
begin
fullx = dataset||'_skyline_naive2';
execute format('create view %s as select x,y from %s',fullx,dataset);
return query select x from fullx;
end
$$ language plpgsql;
select * from skyline_naive2('small');
이
내가 더 fullx 관계가 없기 때문입니다 것을 이해하지만, 내가 변수 이름을 사용하여 뷰를 호출 할 "관계 fullx이 존재하지 않습니다"를 반환합니다.
어떤 도움 당신은 동적 쿼리를 EXECUTE
필요
덕분에 많이 작동합니다 또한 setof 정수 대신 정수를 반환하는 경우 어떻게 할 수 있습니까? foreg return query format ('count count (x) from % I', fullx); 그러나 반환 쿼리는 setof –
에서만 작동합니다.이 경우 정수 변수 'execute ... into variable'을 선언하고 반환 할 수 있습니다. – klin