이걸 어떻게 처리해야 효율적인가 궁리중인데
잘 떠오르질 않네요
테이블이 2개가 있습니다.
A table
code serial
price int4
key bool
B table
code serial
price int4
자료들..
SELECT * FROM A
code price key
----------------------
1 1000 f
2 2000 f
3 3000 f
SELECT * FROM B
code price
--------------
1 100
2 50
1 10
3 400
1 300
2 700
뭐 이런식으로 있습니다.
테이블 B에 insert 를 하는데.
입력이 되면 테이블 B에서 해당하는 코드의 가격의 합을 구해서
그 가격이 테이블 A 에서 해당하는 코드의 가격과 비교해서 가격이 같으면
a 테이블의 key 필드를 t로 업데이트 하는 것입니다..
말이 좀 복잡한가요?
INSERT INTO b ('1','100')
SELECT price FROM A WHERE code = '1' 과
SELECT SUM(price) FROM B WHERE code = '1' 이 같다면
UPDATE a SET key = 't' WHERE code = '1'
값이 다르면 아무것도 안함.
이런순서를 자동화를 하려고 하는데,
먼저 떠오르는게 RULE 이었는데,
CASE WHEN 구문이 안되더군요
그래서 트리거를 써야 하나 고민하다가
간단한거니까 그냥 프로그램에서 저 순서를 죽~ 써줄까도 생각해보고 ㅠㅠ
어떤방법으로 해결하는게 가장 좋은 방법일까요???
|