Q&A

  • Query Analyzer에서는 되는데 델파이에서는 에러가...ㅡㅡ;;
안녕하세요...여러 고수님들...

다름이 아니라...

Query Analyzer에서 sql문를 작성해서 실행하고 값이 나오는걸 확인 후...

델파이에 TQuery에 넣어서 Active 하면...

invalid use of keyword

Token : @i

Line Number 1

이런 에러가 납니다...

쿼리문의 일부분은 이렇습니다.



DECLARE @i char(2), @m char(2), @n char(2)

SET @i = month(getdate())

SET @n = @i-1



IF @i <= 10

BEGIN

SELECT @m = '0' + @n

END

ELSE IF @i > 10

BEGIN

SELECT @m = @i

END



SELECT a.year,

a.partcd,

a.ap_name,

a.class,

CASE WHEN @i = 2 THEN a.month1

WHEN @i = 3 THEN a.month2

WHEN @i = 4 THEN a.month3

WHEN @i = 5 THEN a.month4

WHEN @i = 6 THEN a.month5

WHEN @i = 7 THEN a.month6

WHEN @i = 8 THEN a.month7

WHEN @i = 9 THEN a.month8

WHEN @i = 10 THEN a.month9

WHEN @i = 11 THEN a.month10

WHEN @i = 12 THEN a.month11

WHEN @i = 1 THEN a.month12

END AS P_Saup,

(SELECT b.SM_Siljuk

FROM rto010 b

WHERE b.kind like 'P01'

AND b.partcd = '00002'

AND b.yymm = substring('200103',1,4) + @m) P_Siljuk

FROM kuopbem20 a LEFT OUTER JOIN rto010 b

on a.partcd = b.partcd

AND b.kind LIKE 'P01'

AND b.yymm = substring('200103',1,4)+@i

WHERE a.class = '1' AND a.partcd = '00002'



고수님들 부탁 드리겠습니다...

그럼 즐코 하시길...(__)

1  COMMENTS
  • Profile
    블랙봉 2001.05.15 18:34
    델초보..ㅡㅡ;; wrote:

    > 안녕하세요...여러 고수님들...

    > 다름이 아니라...

    > Query Analyzer에서 sql문를 작성해서 실행하고 값이 나오는걸 확인 후...

    > 델파이에 TQuery에 넣어서 Active 하면...

    > invalid use of keyword

    > Token : @i

    > Line Number 1

    > 이런 에러가 납니다...

    > 쿼리문의 일부분은 이렇습니다.

    >

    > DECLARE @i char(2), @m char(2), @n char(2)

    > SET @i = month(getdate())

    > SET @n = @i-1

    >

    > IF @i <= 10

    > BEGIN

    > SELECT @m = '0' + @n

    > END

    > ELSE IF @i > 10

    > BEGIN

    > SELECT @m = @i

    > END

    >

    > SELECT a.year,

    > a.partcd,

    > a.ap_name,

    > a.class,

    > CASE WHEN @i = 2 THEN a.month1

    > WHEN @i = 3 THEN a.month2

    > WHEN @i = 4 THEN a.month3

    > WHEN @i = 5 THEN a.month4

    > WHEN @i = 6 THEN a.month5

    > WHEN @i = 7 THEN a.month6

    > WHEN @i = 8 THEN a.month7

    > WHEN @i = 9 THEN a.month8

    > WHEN @i = 10 THEN a.month9

    > WHEN @i = 11 THEN a.month10

    > WHEN @i = 12 THEN a.month11

    > WHEN @i = 1 THEN a.month12

    > END AS P_Saup,

    > (SELECT b.SM_Siljuk

    > FROM rto010 b

    > WHERE b.kind like 'P01'

    > AND b.partcd = '00002'

    > AND b.yymm = substring('200103',1,4) + @m) P_Siljuk

    > FROM kuopbem20 a LEFT OUTER JOIN rto010 b

    > on a.partcd = b.partcd

    > AND b.kind LIKE 'P01'

    > AND b.yymm = substring('200103',1,4)+@i

    > WHERE a.class = '1' AND a.partcd = '00002'

    >

    > 고수님들 부탁 드리겠습니다...

    > 그럼 즐코 하시길...(__)



    Query component의 SQL에는 그런 복잡한 query는 들어가면 안되는 것으로 알고있습니다.

    Declare라든지.... 변수 사용등....

    query를 만드실 때 변수 값들을 계산하셔서 만드셔야 할 것 같네요.