1

私はFB 2.5で次のようなSPを構築しようとしています:

where 
   (
      (kunde between :kdvon and :kdbis)
      and 
          (AdrGrp between :AdrGrpvon and :AdrGrpbis)
      and
          (auftragstyp between :AuftrTypVon and :AuftrTypBis)
      and
          (Status between :statusvon and :statusbis)
      and
      IF LFDNR <> 0 THEN (LFDNUMMER  = :LFDNR)
      IF BESTELLTAG <> 0 then (bestelldatum  = :BESTELLTAG)
   )

Ifステートメントが挿入されるまではうまくいきました。その後、SQL エラー コード = -104 というメッセージが表示されます。トークン不明 - 156 行目、14 列目。LFDNR。

IF 条件は入力パラメータとして定義されます。コロン : を使用してパラメータとしてマークしても機能しませんでした。

質問 このように「Where」の中で「If」を使うことはできますか?条件付きパラメーターを使用するにはどうすればよいですか?

ティア・ロルフ

4

1 に答える 1

2

代わりにこれを試してください:

...
AND (LFNDR = 0 OR LFDNUMMER = :LFDNR)
AND (BESTELLTAG = 0 OR bestelldatum = :BESTELLTAG) 

LFNDR( andBESTELLTAGがパラメータ/変数か、句の列かどうかはわかりません= 0-それらがパラメータである場合(右側の部分と同じ)、おそらく「:」でマークする必要があります)

于 2012-09-03T10:48:38.767 に答える