트리거를 쓰지 않고 insert into test(a,b) values(1,2) insert를 하거나 update 를 하면 a b c 1 2 3
이런식으로 a+b 의값이 c 에 들어가도록 할수 있는 방법이 트리거 쓰지 않고 있을까요??
insert into test(a,b,c) values(1,2,(a+b)) 혹시 몰라서 이렇게 해봤더니 안되더군요 ㅜ
by 느훼훼
[2012.03.06 15:00:46]
제 짧은 생각으로는 그렇게는 안되지 않을까 싶네요. a와 b는 현재 넣을려고 하는 컬럼이고 insert문 안에다가 1, 2를 넣었지만 실행중(?)에는 그 값을 인식을 못해서 a+b <<< 이런 식으로는 안되지 않을까 싶어요. 프로그램 소스상에 변수를 이용해 values에 값을 넣는거라면 해당 변수 + 변수로 하심 될거고, 그게 안된다면 insert먼저 해준다음에 update를 다시 해주는 식으로 하심 될거 같아요. insert문 하나로는 안되지 않을까 싶네요~ 제 짧은 생각으론 그렇네요.
by 부쉬맨
[2012.03.06 15:13:16]
일단 insert 당시에는 a, b에 대한 값이 존재하지않죠. 느훼훼님말씀처럼 로직적으로으로 변경이나 다른방법을 찾아보시는게좋을뜻합니다.
by 마농
[2012.03.06 15:24:29]
아예 설계를 바꾸시죠. c 항목 자체를 없애세요. c 가 필요할때는 a + b AS c 로 조회하세요. 그것이 귀찮다? c 를 포함하는 뷰를 만들어 사용하세요.
by 손님
[2012.03.06 15:30:38]
답변들 너무 감사합니다.
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.