database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
ㆍMS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
MS-SQL Q&A 6656 게시물 읽기
No. 6656
sp 조건문where문을 if문의 형식으로
작성자
sq
작성일
2013-04-19 14:24
조회수
8,280

사번을 입력하였을 때

 생일이 1월인 사람은 직급이 21인걸로, 생일이 2월인 사람은 직급이 41인걸로 출력되는 프로시저 쿼리입니다.

 

create proc usp_14
@emp_no nvarchar(255)

as
begin tran

update HAA010T set roll_pstn='21'
where emp_no like @emp_no and substring(RES_NO,3,2)='01'    /*생일이 1월인 사람은 직급이 21인걸로*/

update HAA010T set roll_pstn='41'
where substring(RES_NO,3,2)='02' and emp_no like @emp_no /*생일이 2월인 사람은 직급이 41인걸로*/

select emp_no,name,roll_pstn,substring(RES_NO,3,2)
from HAA010T
where emp_no like @emp_no

commit

 

 

위와 같이 where문을 쓴 것을 if문의 형태로 표현하면 어떻게 하여야 하는지요?update도 하나만 써서 말입니다.빠른 답변 부탁드립니다 님들 ㅠㅠ

이 글에 대한 댓글이 총 1건 있습니다.

WITH mapping ( birth, ranking )

AS
(
SELECT '01', '21' UNION ALL
SELECT '02', '41'
)
update HAA010T set roll_pstn=bb.ranking
FROM HAA010T AS aa
INNER JOIN mapping AS bb
ON substring(aa.RES_NO,3,2)=bb.birth
where emp_no like @emp_no 
;
우욱님이 2013-04-19 20:51에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
6660기본적인 LOCK 정책 변경하는 방법. [1]
이대규
2013-04-29
8172
6659완전 초보적인 질문 하나만 하겠습니다. [1]
김녹연
2013-04-25
7706
6658DB 테이블에서 특정 id 와 테이블이름 검색 [2]
무슨소리
2013-04-25
8205
6656sp 조건문where문을 if문의 형식으로 [1]
sq
2013-04-19
8280
6655생년월일에서 특정달 태어난 사람 조회 [1]
김정례
2013-04-17
8120
6654프로그램 에러시 락이걸리나요... [1]
정명규
2013-04-16
7833
6653MS-SQL 날짜값을 횡으로 조회할 때의 Query문의 [1]
김재호
2013-04-15
9095
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.017초, 이곳 서비스는
	PostgreSQL v16.4로 자료를 관리합니다