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

FireBird Q&A
[504] Re:[질문]인터베이스에서 일자별 순번 증가 시키는 트리거
헝그리_보이 [] 2441 읽음    2002-11-16 09:33
ORACLE만 해보고 인터베이스는 안해봐서 좋은 답변이 될지 모르겠지만...

SELECT MAX(JPNO) FROM PGO WHERE (NEW.IDATE=OLD.IDATE)
               INTO :MAX_NUM;

위 SQL文을 아래와 같이(WHERE절) 바꿔 보세요.

SELECT MAX(JPNO) FROM PGO WHERE (IDATE=NEW.IDATE)
               INTO :MAX_NUM;

그리고 표준 SQL SYNTAX가 아니군요.

SELECT MAX(JPNO) INTO :MAX_NUM FROM PGO WHERE (IDATE=NEW.IDATE);

이렇게 해야 맞는것 아닌가요?


감사^^ 님이 쓰신 글 :
: 환절기 감기조심하십시요.
:
: 인터베이스를 사용하는데 트리거 정보가 많이 없는것 같아서 염치불구하고
:
: 질문 올립니다.
:
: 해당 일자별로 1씩 자동증가하는 트리거 구현 방법은?
:
: 아래와 같이 하면 'OLD.IDATE' 에서 에러가 뜹니다...
:
: CREATE TRIGGER TRI_JPNO1 FOR IPGO BEFORE INSERT POSITION 0
: AS
:  DECLARE VARIABLE MAX_NUM INTEGER;
: BEGIN
:  SELECT MAX(JPNO) FROM PGO WHERE (NEW.IDATE=OLD.IDATE)
:                INTO :MAX_NUM;
:
:  IF (MAX_NUM IS NULL) THEN MAX_NUM=1;
:  ELSE MAX_NUM=MAX_NUM+1;
:
:  NEW.JPNO=MAX_NUM;
: END
:
: 좋은 답변 부탁드립니다. 감사합니다
:
:

+ -

관련 글 리스트
503 [질문]인터베이스에서 일자별 순번 증가 시키는 트리거 감사^^ 2421 2002/11/15
504     Re:[질문]인터베이스에서 일자별 순번 증가 시키는 트리거 헝그리_보이 2441 2002/11/16
505         Re:Re:[질문]인터베이스에서 일자별 순번 증가 시키는 트리거 감사^^ 2232 2002/11/18
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.