sql >> データベース >  >> RDS >> Sqlserver

WHERE句を動的/プログラムでSQLに追加します

    これは、次のようにSQLでのみ実行できます:

    SELECT * 
    FROM tUsers 
    WHERE 1 = 1
      AND (@userID IS NULL OR RTRIM(Name) = @userID )
      AND (@password IS NULL OR RTRIM(Password) = @password)
      AND (@field2 IS NULL OR Field2 = @field2)
    ....
    

    NULLを使用してストアドプロシージャに渡されたパラメータがある場合 値を指定すると、条件全体が無視されます。

    注意WHERE 1 = 1を追加しました 1 = 1であるため、クエリにパラメータが渡されない場合にクエリを機能させるために、この場合はすべて結果セットが返されます。 常に真実です。



    1. phpMyAdminに似たPostgreSQLビジュアルインターフェイス?

    2. 最近のリリースで新しく進化するPostgreSQLエンタープライズ機能

    3. テーブルフィールドにハイフンを含めることはできますか?

    4. Postgresの一意性制約とインデックス