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

FireBird Q&A
[1815] 스트어 프로시저 사용법에 대해서 좀 알려주세요~
강재호.만해 [greenuri] 1625 읽음    2006-02-16 16:08
회사 업무상 보고서 결과를 만드는 쿼리만들어야 하는데

일반 쿼리로는 도저히 해결이 안될것 같아서

SP를 만들었습니다.

SP에서는 하루 하루에 대한 결과를 만들어 내는데요

이걸 Select문에 연동 시켜서 한달치 결과를 내게 만들려고 할려는데

잘안되네요

CREATE PROCEDURE GET_Monthly_Report_Element (GroupYear int, GroupMonth int, GroupDay1 int,GroupDay2 int, GroupHour int)
RETURNS (
  UsedTime int,
  PauseTime int,
  Prepay int,
  Afterpay int,
  Totalpay int,
  TimeMember int,
  TimeMemberpay int,
  ServiceTime int,
  Discount int,
  Mileage int,
  Mileagepay int)
AS
BEGIN
  for select
  sum(UsedTime) UsedTime,
  sum(PauseTime) PauseTime,
  sum(Prepay) Prepay ,
  sum(Afterpay) Afterpay,
  sum(Totalpay) Totalpay,
  sum(TimeMember) TimeMember,
  sum(TimeMemberpay) TimeMemberpay,
  sum(ServiceTime) ServiceTime,
  sum(Discount) Discount,
  sum(Mileage) Mileage,
  sum(Mileagepay) Mileagepay
  FROM sales
  WHERE  endtime between
         cast (cast (:GroupMonth as Char(2))||'-'||
               cast (:GroupDay1 as Char(2))  ||'-'||
               cast (:GroupYear as Char(4)) ||' '||
               cast (:GroupHour as char(2)) ||':00:00' as Date)
         and
         cast (cast (:GroupMonth as Char(2))||'-'||
               cast (:GroupDay2 as Char(2))||'-'||
               cast (:GroupYear as Char(4)) ||' '||
               cast (:GroupHour as char(2)) ||':00:00' as Date)

    INTO : UsedTime ,  PauseTime ,  Prepay ,  Afterpay ,  Totalpay ,
         TimeMember ,   TimeMemberpay ,   ServiceTime ,   Discount ,   Mileage ,  Mileagepay
  DO
    SUSPEND;
END

GET_Monthly_Report_Element  이게 하루치 보고서를 만드는 쿼리이고요

사용은 이렇게 합니다.

select * from  GET_Monthly_Report (2006 , 2 ,16,17, 1)

이 쿼리를 한달의 날수 만큼 돌려야 됩니다.

그래서 제가 작성한 쿼리가 다음과 같습니다.

select distinct(extract ( day from endtime)) ,
(Select * from Get_monthly_Report_Element
                               ( extract ( year from EndTime ),
                                 extract (month from endtime ),
                                 extract (  day from endtime ) ,
                                 extract (  day from endtime )+1 ,
                                 4)
)
from sales

이렇게 해서 전체 데이타를 가져 오게 할려고 하는데요

하루치 그러니깐 Get_monthly_Report_Element 가 개별적으로는 잘 작동 하는데

저렇게 쿼리에 붙여 놓으니 작동이 안되고 있습니다.

작업 환경은 FireBird 1.5를 이용하고 있습니다.

SP를 호출하는 부분에서 문법 에러가 발생 하는데요 도저히 뭐가 잘못 된건지 알수가 없네요

도움 바랍니다~

+ -

관련 글 리스트
1815 스트어 프로시저 사용법에 대해서 좀 알려주세요~ 강재호.만해 1625 2006/02/16
1817     Re:스트어 프로시저 사용법에 대해서 좀 알려주세요~ 푸른솔 1870 2006/02/17
1818         Re:Re:스트어 프로시저 사용법에 대해서 좀 알려주세요~ 강재호.만해 1891 2006/02/17
1819             Re:Re:Re:스트어 프로시저 사용법에 대해서 좀 알려주세요~ 푸른솔 1755 2006/02/17
1820                 Re:Re:Re:Re:스트어 프로시저 사용법에 대해서 좀 알려주세요~ 강재호.만해 2224 2006/02/17
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.