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

FireBird Q&A
[1067] Re:Re:Re:인터베이스 프로시저 좀 봐주세요.
박지훈.임프 [cbuilder] 1365 읽음    2004-05-19 10:16
사소한 실수를 하셨네요.
에러가 난 insert문 앞에 end가 있는데, 그걸 지우시면 될 겁니다.
이 end 때문에 전체 프로시저의 끝으로 인식한 거죠.

그럼..


왕초보 님이 쓰신 글 :
: 답변 주셔서 감사합니다.
: dialect도 3으로 해서 db를 다시 생성했고요.
: 님이 시키신대로
:
: SET TERM ^ ;
:
: CREATE PROCEDURE Acc0004_Save
: (
:   jp010 char(10)
: , jp020 integer
: , jp030 char(3)
: , jp040 integer
: , jp050 char(1)
: , jp060 char(5)
: , jp070 varchar(6)
: , jp080 varchar(40)
: , jp090 numeric(18, 3)
: , jp100 varchar(30)
: , jp110 char(1)
: , jp120 varchar(30)
: , jp130 varchar(30)
: , jp140 char(1)
: , jp150 integer
: , jp160 varchar(100)
: )
: AS
:   declare variable Max_Num integer;
: BEGIN
:
:   select jp020 from acc0004 where jp010 = :jp010 and jp020 = :jp020 into :Max_Num;
:   if ( Max_Num is not null) then
:       delete from acc0004 where jp010 = :jp010 and jp020 = :jp020;
:
:
:   select max(jp020) from acc0004 where jp010 = :jp010 into :Max_Num;
:   if (Max_Num is null) then
:     Max_Num = 1;
:   else
:     Max_Num = Max_Num + 1;
:   end
:
:   insert into acc0004 (jp010, jp020, jp030, jp040, jp050, jp060, jp070, jp080, jp090, jp100, jp110, jp120, jp130, jp140, jp150, jp160)
:   values (:jp010, :Max_Num, :jp030, :jp040, :jp050, :jp060, :jp070, :jp080, :jp090, :jp100, :jp110, :jp120, :jp130, :jp140, :jp150, :jp160);
:
:   SUSPEND;
: END^
: SET TERM; ^
:
: 이렇게 했더니 아래의 오류는 없어졌는데 다른 오류가 뜨는 군요.
:
: **********************************************
: Dynamic SQL Error
: SQL error code = -104
: Token unknown - line 32, char 1
: insert
: Statement: CREATE PROCEDURE Acc0004_Save
: (
: **************************************************
: 다시한번 봐주시겠습니까?
: 비번은 0000 입니다
:
: 박지훈.임프 님이 쓰신 글 :
: : 문법적인 에러는 없고...
: : 에러가 난 문장의 마지막에 있는 세미콜론(;)을 SQL문의 끝으로 인식한 것 같군요.
: : 아마도 데이터베이스 생성시에 dialect를 다르게 설정하신 것이 아닌가 싶네요.
: :
: : 다음과 같이 해보세요.
: :
: : 1. CREATE 문의 앞에 다음과 같이 추가
: : SET TERM ^ ;
: :
: : 2. 가장 마지막의 END 직후에 ^ 를 추가
: :
: : 3. 그 아래에 다음과 같이 추가
: : SET TERM ; ^
: :
: : 그럼..
:

+ -

관련 글 리스트
1063 인터베이스 프로시저 좀 봐주세요. 왕초보 1570 2004/05/18
1065     Re:인터베이스 프로시저 좀 봐주세요. 박지훈.임프 1623 2004/05/18
1066         Re:Re:인터베이스 프로시저 좀 봐주세요. 왕초보 1343 2004/05/19
1067             Re:Re:Re:인터베이스 프로시저 좀 봐주세요. 박지훈.임프 1365 2004/05/19
1069                 넘넘 감사합니다... 왕초보 1503 2004/05/19
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.