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

FireBird Q&A
[184] Re:Re: 다른 디비의 case같은 함수는 지원하지 않는다는 말씀???
김백일 [cedar] 2918 읽음    2002-03-27 13:29
신승욱 님이 쓰신 글 :
: 김백일 님이 쓰신 글 :
: : 신승욱 님이 쓰신 글 :
: : : 예를 들어서 sql문에서 상품의 재고를 산출할때 inout필드가 1이면 입고,2이면 출고입니다.
: : : 그래서 inout가 1이면 재고를 더하고 2이면 재고를 빼서 현재 재고를 산출할려고 합니다.

굳이 SELECT만으로 해결하고 싶으시다면,
간단한 방법이 막 생각났네요.
inout 필드를 입고면 +1, 출고면 -1로 해서 곱하면 되겠군요.
굳이 1, 2로 써야 한다면
2 * (1.5 - 1) = 1
2 * (1.5 - 2) = -1
로 하면 되겠군요.

: : : select ????? from goods
: : : 어떻게 해야되는지요...부탁드려요~~
: :
: : Stored Procedure의 IF ... THEN ... ELSE 구문을 이용하면 됩니다.
: : 그외에 FOR SELECT ... DO와 SUSPEND 구문을 쓰시면
: : Stored Procedure는 View와 똑같은 식으로 다루실 수 있습니다.
: :
: : 그런데 위의 상황은 좀 이해가 안되는 군요.
: : 보통 입고량은 양수값, 출고량은 음수값으로 하지 않나요?
: : 그럼 그냥 더하기만 하면 될텐데요.
:
: 먼저 답변 감사드립니다..
: 저도 그냥 입고는 양수,출고는 음수 하고접은데....(아마도 수량을 양수로하고..음수일경우 반품처리를 하기 위해서인듯....)
: 지금 프로그램 모디파이하는 중이라서리~~
: 그걸 바꿀려니 많이 수정해야될것같아서~(ㅡ,.ㅡ;;)
:
: 다른 디비(ms-sql등등)처럼 sql문을 써서 만들수는 없나요??
: 함수가 지원되지 않는가요?? udf파일을 인스톨해준다던지....(ib_udf.sql은 해봣는데 원하는 함수가 없더군요) Stored Procedure 는 써본적이 없어서리~~헝헝헝

Stored Procedure는 그리 어렵지 않습니다.

굳이 예제를 들어본다면...

CREATE PROCEDURE GET_EMP_PROJ (EMP_NO SMALLINT)
RETURNS (PROJ_ID CHAR(5))
AS
BEGIN
  FOR SELECT PROJ_ID
    FROM EMPLOYEE_PROJECT
    WHERE EMP_NO = :EMP_NO
    INTO :PROJ_ID
  DO
    SUSPEND;
END

이렇게 해서 프로시저를 등록한 뒤
사원 번호가 52인 사람의 프로젝트 ID 목록을 얻으시려면

SELECT *
FROM GET_EMP_PROJ(52);

간단하죠?

Stored Procedure를 잘 쓰면 상당한 속도 향상을 얻을 수 있습니다.

그럼... 즐프들~~

+ -

관련 글 리스트
181 sql문에서 if 와 같은 기능을 할려면??? 신승욱 2485 2002/03/27
182     Stored Procedure를 쓰시길... 김백일 2696 2002/03/27
183         Re: 다른 디비의 case같은 함수는 지원하지 않는다는 말씀??? 신승욱 2658 2002/03/27
184             Re:Re: 다른 디비의 case같은 함수는 지원하지 않는다는 말씀??? 김백일 2918 2002/03/27
185                 인터베이스에서 case 문보다 더 좋은 함수를 쓸려면. Tk 2888 2002/03/27
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.