2
Postgres에서 명명 된 계산과 같은 것을 만들 수 있는지 알고 싶습니다. 내 결과를 얻을 수 select (bar/baz) * 100 from foo;
를 실행할 수 있습니다,하지만 난 식 (의사)가 싶습니다Postgres의 동적 계산 공식
create table foo (
bar smallint,
baz smallint
)
: avg_foo ::= (bar/baz)*100
를 다음 동일한 결과를 얻을 수 select avg_foo from foo;
할 말, 나는 테이블을 가지고있다. 이런 식으로, 내가 동적 계산을 만들 수 있도록
create table calculations (
name varchar,
formula varchar
)
및 선택에서 사용 : 이상적으로, 내가 계산과 별도의 테이블을 가지고 싶습니다
insert into calculations (name, formula) values
('sum_bar_baz', 'bar+baz'),
('mult_bar_baz', 'bar*baz');
select sum_bar_baz, mult_bar_baz from foo;
을 나는이 작업을 수행하려면 어떻게 포스트그레스?
다니엘, 답변 해 주셔서 감사합니다. 조금 더 구체적 일 수 있습니까? 나는 네가 한 말을 어떻게 할 지 모르겠다. –
포스트 그레스에서 함수를 작성하는 방법을 배웁니다. plpgsql 함수를 작성하는 방법을 배웁니다. EXECUTE 문에 대해 읽어보십시오. 문자열을 취하여 구문 분석하고 평가합니다. 그것을 사용하여 동적 쿼리를 만듭니다. 단일 값 대신 튜플을 반환하는 방법을 배웁니다. 문서를 읽으십시오. – Daniel