2010-02-15 2 views
0

파이어 버드 2.1 저장 프로 시저 내에서 특정 행의 ID를 얻고 싶습니다. 문법을 기억하지 못하는 것 같아요.파이어 버드 저장 프로 시저에서 스칼라 값 선택

Microsoft SQL Server에서 사용하는 코드가 TSQL로 표시되는 방식입니다.

@ID = SELECT ID FROM ADDRESS WHERE 
     POBox = :POBOX AND 
     ExtendedAddress = :EXTENDEDADDRESS AND 
     StreetAddress = :STREETADDRESS AND 
     Locality = :LOCALITY AND 
     Region = :REGION AND 
     PostalCode = :POSTALCODE AND 
     CountryName = :COUNTRYNAME; 

파이어 버드는 무엇입니까?

UPDATE 다음 Firebird SQL migration guide는이

SELECT ID INTO :ID FROM ADDRESS WHERE 
     POBox = :POBOX AND 
     ExtendedAddress = :EXTENDEDADDRESS AND 
     StreetAddress = :STREETADDRESS AND 
     Locality = :LOCALITY AND 
     Region = :REGION AND 
     PostalCode = :POSTALCODE AND 
     CountryName = :COUNTRYNAME; 

일을해야한다고 제안하지만 난이 저장된 프로 시저를 만들려고 할 때 "속으로 '에서 구문 오류가 발생합니다.

+0

후손을 위해 어떤 버전의 FB가 필요합니까? – pilcrow

+0

파이어 버드 2.1과 2.5를 사용하고 있습니다. 나는 그것을 반영하기 위해 질문을 업데이트 할 것이다. – dthrasher

답변

4

분명히 Firebird 마이그레이션 가이드가 잘못되었습니다. 이 구문은 나를 위해 일한 다음 INTO 절은 FROMWHERE 절을 제공해야

SELECT ID FROM ADDRESS WHERE 
    POBox = :POBOX AND 
    ExtendedAddress = :EXTENDEDADDRESS AND 
    StreetAddress = :STREETADDRESS AND 
    Locality = :LOCALITY AND 
    Region = :REGION AND 
    PostalCode = :POSTALCODE AND 
    CountryName = :COUNTRYNAME 
INTO :ID; 

참고.

+1

': COUNTRYNAME' 이후의 세미콜론이 틀림 없다고 확신합니다. – mghie

+0

당신 말이 맞아요, @mghie! 어리석은 잘라 내기 및 붙여 넣기 오류. 내 대답을 바로 잡았어. – dthrasher

관련 문제