FireBird Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
파이어버드 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
IBPhoenix
FireBird Main site
볼랜드포럼 광고 모집

FireBird Q&A
[2639] [질문]월단위 시리얼번호 생성
델맨 [delphiman] 3139 읽음    2007-11-14 14:50
새로운 월이 될때마다 시리얼번호를 초기화 해서 사용하려고 아래와 같은 코드를 만들었습니다.
레코드에 기존의 데이타가 들어 있을때는 정상적으로 동작하는데 ,
null반환하지 마라고 COALESCE 을 사용하여 null일때 리턴할 데이타를 지정해줬는데도
한개의 자료도 없을때 (그러니까 최초의 데이타생성시)는 null만 반환합니다.

주력DB를 MS만 쓰다가 이제부터 FIREBIRD로 바꾸려고 하는데 힘드네요....
조언부탁드립니다.

SELECT
    COALESCE ( KK.CUSTCODESERIAL + 1 , 1 ) AS LASTCODE
FROM
(
    SELECT
        FIRST 1 CUSTCODESERIAL
    FROM
        GFCUST
    WHERE
        CUSTCODEY = '2007'
        AND
        CUSTCODEM = '11'
    ORDER BY
        CUSTCODEY DESC , CUSTCODEM DESC
) AS KK

그리고
SELECT
    CASE KK.CUSTCODESERIAL
        WHEN NULL THEN 1
        ELSE KK.CUSTCODESERIAL + 1
    END AS LASTCODE
FROM
(
    SELECT
        FIRST 1 CUSTCODESERIAL
    FROM
        GFCUST
    WHERE
        CUSTCODEY = '2007'
        AND
        CUSTCODEM = '11'
    ORDER BY
        CUSTCODEY DESC , CUSTCODEM DESC
) AS KK
이렇게 해도 마찬가지입니다.

+ -

관련 글 리스트
2639 [질문]월단위 시리얼번호 생성 델맨 3139 2007/11/14
2658     저는 스토어드 안만들고 이렇게 사용합니다. 아폴론 2437 2007/11/27
2660         네.. 그런 방법도 있겠군요..감사합니다. 델맨 2337 2007/11/28
2640     Re:[질문]월단위 시리얼번호 생성 까막 2381 2007/11/14
2641         Re:Re:[질문]월단위 시리얼번호 생성 델맨 2476 2007/11/14
2642             SP로 만들어서 하니 잘되네요.. 델맨 2232 2007/11/14
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.