Sql Server Stored Procedure Parametre Null İse Sütun Güncellenmesin

  1. yılmazyazgan
    5
    270
    23.05.2019 15:31:00

    Stored Procedure e gönderdiğim parametre null ise, o alanın güncellenmesini istemiyorum,zaten güncellenirse null oluyor dolu olan alanım

    sp aşağıdaki gibi

    CREATE PROCEDURE dbo.sp_Update_Satislar
    @Id AS INT,
    @urunId AS INT,
    @SatisCode AS NVARCHAR(20)=NULL,
    ...
    AS
    UPDATE dbo.Satis
    SET         
    urunId = @urunId ,           
    SatisCode = @SatisCode ,     
    ...
    where Id=@Id 
    

    bazen SatisCode alanı null gonderebiliyorum , bu durumda en sonki satış numarasını güncellenmemesini sağlamak istiyorum , yukardaki haliyle eski satiscode alanımdaki değer null oluyor

( 1 ) Cevap

  1. deniz
    4
    3457
    23.05.2019 15:42:00

    COALESCE() fonksiyonunu kullanabilirsin

    Eğer @SatisCode null değil ise @SatisCode içindeki değer yeni değer olur

    Eğer @SatisCode null ise SatisCode daki yani mevcut değer yeni değer olur yani veri aynı kalır

    AS
    UPDATE dbo.Satis
    SET         
    urunId = @urunId ,           
    SatisCode = COALESCE(@SatisCode , SatisCode),
    

Cevabınız