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

nullの書き込みを防止するSQLストアドプロシージャ

    私はまだあなたの質問に少し混乱していますが、これは私が理解しているように機能するはずです.すべての IF の代わりに ステートメント、単一の CASE に移行することを検討してください 値を 0 にデフォルト設定します。次に、値が 0 でない場合のチェックを追加して、何かを行います。

    DECLARE @Level int
    DECLARE @Total int
    DECLARE @NewPoint int
    
    SET @Level = 61
    SET @Total = 100
    
    SELECT 
      @NewPoint = CASE
                    WHEN @Level = 61 AND @Total < 482 THEN 10
                    WHEN @Level = 62 AND @Total < 487 THEN 15
                    WHEN @Level = 63 AND @Total < 492 THEN 20
                    WHEN @Level = 64 AND @Total < 497 THEN 25
                    WHEN @Level = 65 AND @Total < 502 THEN 30
                    ELSE 0
                  END
    
    IF @NewPoint <> 0 
    BEGIN
      SELECT 'DO SOMETHING'
    END
    


    1. SQLLIMITおよびOFFSETクエリを使用してすべてのレコードを選択する

    2. アプリのアップグレードのみで行をアップグレードする

    3. Java JDBC MySQLの例外:ResultSetを閉じた後の操作は許可されません

    4. SQL ALTER DATABASE構文–DBMSによってリストされます