Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Thủ tục lưu trữ SQL ngăn chặn ghi null

Tôi vẫn còn một chút bối rối trước câu hỏi của bạn, nhưng điều này sẽ hoạt động như tôi hiểu. Thay vì tất cả IF , hãy xem xét chuyển sang một CASE duy nhất , mặc định giá trị là 0. Sau đó, thêm dấu kiểm nếu giá trị không phải là 0, để thực hiện điều gì đó.

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL Server - tham gia bên trong khi cập nhật

  2. SQL - Số điện thoại truy vấn được lưu trữ không nhất quán

  3. Lưu trữ kết quả Pivot động vào một bảng tạm thời trong SQL Server

  4. Xuất dữ liệu tệp nhị phân (hình ảnh) từ SQL thông qua một thủ tục được lưu trữ

  5. Kiểm tra phiên bản SSIS