2013-07-09 7 views
1

postgresql에서, 방법 INSERT 값과 column.bPostgreSQL을 INSERT INTO IF 문

IF column.a = 1 then column.b = foo, 
IF column.a = 2 then column.b = bar, 
IF column.a = 3 then column.b = good, 
IF column.a = 4 then column.b = bad 

답변

3

행이 이미있는 경우 INSERT이 필요하지 않습니다. 다음과 같이 UPDATE이 필요합니다.

UPDATE your_table 
SET b = CASE 
     WHEN a = 1 then 'foo' 
     WHEN a = 2 then 'bar' 
     WHEN a = 3 then 'good' 
     ELSE 'bad' 
     END 
WHERE some_condition = 'true'; 
5

INSERT 컬럼에 값을 삽입하지 않고 동일한 테이블에서 column.a에서. 테이블에 새 행을 삽입합니다. 대신 UPDATE statement을 사용해야합니다. ifs inside도 필요합니다.