これらは、ストアド プロシージャに渡すビット値の一部であり、これらの値に基づいて where 句が生成されます
@booking bit,
@drs bit,
@manifest bit,
@receiving bit,
@status bit
そのような非常に単純な
if (@booking=0)
Select * from Table where ColumnName='Booking'
if (@drs=1)
Select * from Table where ColumnName=DRS'
--so on based on other bit values
クエリは同じままですが、ビット値に基づいて結果セットを取得し、結果セットをマージします。
単純な日では、このクエリは次のようになります
Select * from Table where ColumnName in ('Booking','DRS')
ストアド プロシージャに複数の if ステートメントを入れたくないので、どうしても 1 つのクエリで作成します。