私はこのような条件テーブルを持っています:
Conditions
- ConditionID
- MappingID
- VariableID
- CompareToVariableID
- ConditionOperator(==または<>の場合があります)
- ConjunctionOperator(&&または||の場合があります)
- ConjunctionOrder
これで、MappingIDに応じてこれらの条件を実装したいSPができました。
MappingIDが選択されている場合、SPで何かが発生する前に、すべてのマップされた条件をチェックする必要があります。
SELECT *
FROM Conditions
WHERE MappingID = @MappingID
ORDER BY ConjunctionOrder
たとえば、特定のテーブルにMappingID
3つの行がある場合、次のようになります。Conditions
IF VARIABLEID CONDITIONOPERATOR COMPARETOVARIABLEID CONJUNCTIONOPERATOR --row1
VARIABLEID CONDITIONOPERATOR COMPARETOVARIABLEID CONJUNCTIONOPERATOR --row2
VARIABLEID CONDITIONOPERATOR COMPARETOVARIABLEID --row3 (ignore ConjunctionOperator for last row)
BEGIN
--my code goes here
END
ELSE
BEGIN
--my code here
END
IFステートメントを実装する方法を知りたいです。