psql 내부에서 if then else 문을 사용하고 싶은데요.
예를 들면, select count(*) from Table_A if activity_count > 1 then delete statement ...
이런 식으로요.
drop table if exists 이런 식으로도 어떻게 할 수 있을까요?
부탁 드립니다.
박춘삼
drop table if exists 구문은 지원하고요, (8.2 버전부터인가? 그전인가 아무튼 그때서 부터 지원했을 겝니다)
sql 구문에서 if the else 구문은 case when ... then ..end 구문으로 처리를 합니다.
이것과 위에서 언급하고 있는 구문하고는 성격이 조금 다른 것 같은데,
저런 형태를 구현하려면, 아마
delete ..... where (select count(*) from table) > 0;
뭐 이런식이 되지 않을까싶네요.
(이런 형태가 왜 필요한지는 모르겠지만)
프로시져, 펑션, 트리거펑션 등등
펑션 내에서는 if ... then... else... end if; 가 되고요
sql 문에서는 case .... when .... then .... else.... end 형식으로 하셔야 합니다.