update 문안에 select 문 관련하여 질문 0 3 3,671

by dikidogki daul update select [2014.02.26 10:12:12]


마지막 로그인시간을 보여주기 위하여 

USER  테이블에 last_date 에는 curr_date 를 넣고, 
curr_date 에는 현재 시간을 넣으려고 합니다.


UPDATE  USER SET
LAST_DATE = (select curr_date from user where id = 'abcdef')
CURR_DATE = sysdate
WHERE id = 'abcdef'

last_date 에 미리 조회한 curr_date를 변수로 넣고,
update 하는 것이 아닌 한번에 처리하고 싶어서 
위 처럼 쿼리문을 작성했더니 command not properly ended 에러 나는데

한번에 update 와 select 동시에 하는 쿼리 작성은 어떻게 하는건가요?

by 마농 [2014.02.26 10:31:11]
일단, 에러의 원인은 컴마( , )가 없어서구요.

업데이트 쿼리를 살펴보면 서브쿼리를 사용하는데
서브쿼리의 테이블명이 메인의 그것과 다르네요? 혹시 질문 작성중에 실수로 바뀐게 아닐런지요?
혹시? 메인과 서브의 테이블이 같은 테이블이라면? 서브쿼리는 불필요합니다.

by dikidogki [2014.02.26 11:03:32]
메인과 서브 테이블이 같은 테이블입니다. 
서브 쿼리가 불필요 하다는 말씀인데 .. 컴마 넣고 update 해보니 잘 되는데.
왜 서브 쿼리가 불필요한건가요?

by 마농 [2014.02.26 12:19:56]
서브쿼리 없이 그냥
last_date = curr_date 하시면 됩니다.
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입