를 작동하지 나는 다음과 같은 "단위"테이블을 가지고커서
Description
-------------
PERCENTAGE
KG * KILOMETRE
KG * METRE
KG * MILE
KG * YARD
POUND * KILOMETRE
POUND * METRE
POUND * MILE
POUND * YARD
TON * KILOMETRE
TON * METRE
TON * MILE
TON * YARD
TONNE * KILOMETRE
TONNE * METRE
TONNE * MILE
TONNE * YARD
COUNT * KILOMETRE
COUNT * METRE
COUNT * MILE
COUNT * YARD
제가 DB에 %
에 A/B
및 PERCENTAGE
에 형태 A * B
의 각 단위 변환해야합니다. 나는 커서
쿼리를 사용하여 다음과 같은 코드를 작성 :
DECLARE @textToDisplay varchar(50);
DECLARE CurrencyCursor Cursor Local
For SELECT Description FROM Unit;
OPEN CurrencyCursor
FETCH NEXT FROM CurrencyCursor into @textToDisplay;
WHILE @@FETCH_STATUS = 0
Begin
@textToDisplay =
CASE @textToDisplay --line 1
WHEN 'PERCENTAGE' THEN '%'
WHEN '% * %' THEN REPLACE(@textToDisplay ,' * ', '/') --line 2
ELSE @textToDisplay
END
Print @textToDisplay
FETCH NEXT FROM CurrencyCursor into @textToDisplay;
End
CLOSE CurrencyCursor --line 3
나는 다음과 같은 오류를 얻을 :
`line 1` - Incorrect syntax near '@textToDisplay'
`line 2` - Incorrect syntax near '@textToDisplay'. Expecting '(', or SELECT
`line 3` - Incorrect syntax near 'CLOSE'. Expecting CONVERSATION
꽤 오류의 원인을 이해할 수 있습니다.
. 설정 기반 대안을 사용할 수있는 경우에는 커서를 사용하지 마십시오. 커서는 최후의 수단이 아니며 최후의 수단입니다. – HLGEM