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

FireBird Q&A
[210] Re:[질문]인터베이스 rowid로 select 하는 방법 아시는 분요~
Tk [] 2783 읽음    2002-04-08 00:32
eocn 님이 쓰신 글 :
: 인터베이스에서는 RDB$DB_KEY가 다른 DB의 rowid와 같이 쓰인다는걸 어디서 보았는데요..
: 다음과 같이 RDB$DB_KEY를 select 하니......
:
: select p.*, RDB$DB_KEY  from certificate p;
:
: 값이 0000008300000001 이렇게 나왔습니다.
: 그리하여 RDB$DB_KEY가 0000008300000001인 값을 select 하려고 다음과 같이 하니.. 값이 안나오는데..
:
: select p.*, RDB$DB_KEY from certificate p where p.RDB$DB_KEY = '0000008300000001';
:
: 제가 뭘 잘못한거죠~ 에러는 나지 않구.. 결과가 null로 나옵니다..
: 어떻게 해야 RDB$DB_KEY로 select를 할수 있는지.. 방법 아시는분 답변 꼬옥 부탁드립니다...
: 참고로... 지금 interbase6.0버전을 사용하고 있습니다.
:
:
:
:
안녕하세요 Tk 입니다.
rdb$db_key 값들은 '0000008300000001' 처럼 보이지만.
실제  rdb $db_key "<"  ">" 해서 보시면. 확인할수 있쬬
그럼 비교하는 방법은 char(8) 비교하시면. 됨다.

example)
CREATE TABLE ZIP (
  ZIPCODE VARCHAR(7),
  SIDO VARCHAR(4),
  GUGUN VARCHAR(13),
  DONG VARCHAR(43),
  BUNJI VARCHAR(17)
)

CREATE PROCEDURE PROC_TK_DBKEY1 (
  INPT CHAR(7)
) RETURNS (
  RTN VARCHAR(120)
) AS  
declare variable tk_key char(8);  // 여기 char(8) 선언 하시고요.

begin
    select zip.rdb$db_key from zip where zipcode = :inpt  // 사용자가 입력한 rdb$db_key값을 찾아서 먼저 변수(char(8)) 에다가 넣구요..
       into  :tk_key;
    select gugun||dong from zip where zip.rdb$db_key = :tk_key; //여기서 여기서 비교됨
        into :rtn;
suspend;
end
위예제는 실용성 없는 프로시저지만.. row id  이렇게 비교 한다구욤 ^^; 휘~
담주 화욜날 동원훈련 ㅡ/.ㅡ 강원도루 감다.

+ -

관련 글 리스트
203 [질문]인터베이스 rowid로 select 하는 방법 아시는 분요~ eocn 2553 2002/04/02
210     Re:[질문]인터베이스 rowid로 select 하는 방법 아시는 분요~ Tk 2783 2002/04/08
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.