SQL Değişken Set Leme Hakkında
-
Selamlar tarikat aşağıda ki gibi bir sorgum var bu sorgu da değişkenlere değerler atıyorum, tüm sonuçlar değer döndürdüğünde herhangi bir problem yok değişkenler sorunsuz bir şekilde set ediliyorlar ancak null değer döndüğünde null olarak set olmuyorlar önceki değerlerinde kalıyorlar, db e kayıt ederken null kaydetmesi gerekirken bir önceki değerlerle kaydediyor.
Bu sorunu nasıl çözebilirim ? Yardımlarınızı rica ediyorum, iyi günler iyi çalışmalar dilerim...
Declare @pricelow decimal(18,2)
Declare @airvlow nvarchar(50)
Declare @startdatelow nvarchar(15)
Declare @enddatelow nvarchar(15)
Declare @baselow nvarchar(50)
Declare @taxlow nvarchar (50)
Declare @serviceslow nvarchar(50)
Declare @fuellow nvarchar(50)
Declare @fltnumb nvarchar(90)
-- ISTANBUL ---
-- ANKARA
Select top 1 @fltnumb=dbo.tbfly.FltNum , @pricelow = dbo.tbfly.totalprice, @airvlow = dbo.tbfly.airv, @startdatelow = dbo.tbfly.startdate , @enddatelow=dbo.tbfly.enddate , @baselow = dbo.tbfly.base , @taxlow = dbo.tbfly.tax , @fuellow = tbfly.fuel, @serviceslow = tbfly."service" FROM tbfly where StartAirp='ESB' AND StartDtTm='IST' order by dbo.tbfly.totalprice asc
INSERT INTO bestist(price, airv , startdate , enddate , base, tax , fuel, fltnumb , "services" , city)
VALUES (@pricelow , @airvlow , @startdatelow , @enddatelow , @baselow , @taxlow , @fuellow , @fltnumb , @serviceslow , 'ESB')
-- İZMİR
Select top 1 @fltnumb=dbo.tbfly.FltNum , @pricelow = dbo.tbfly.totalprice, @airvlow = dbo.tbfly.airv, @startdatelow = dbo.tbfly.startdate , @enddatelow=dbo.tbfly.enddate , @baselow = dbo.tbfly.base , @taxlow = dbo.tbfly.tax , @fuellow = tbfly.fuel, @serviceslow = tbfly."service" FROM tbfly where StartAirp='ADB' AND StartDtTm='IST' order by dbo.tbfly.totalprice asc
INSERT INTO bestist(price, airv , startdate , enddate , base, tax , fuel, fltnumb , "services" , city)
VALUES (@pricelow , @airvlow , @startdatelow , @enddatelow , @baselow , @taxlow , @fuellow , @fltnumb , @serviceslow , 'ADB')
-- ADANA
Select top 1 @fltnumb=dbo.tbfly.FltNum , @pricelow = dbo.tbfly.totalprice, @airvlow = dbo.tbfly.airv, @startdatelow = dbo.tbfly.startdate , @enddatelow=dbo.tbfly.enddate , @baselow = dbo.tbfly.base , @taxlow = dbo.tbfly.tax , @fuellow = tbfly.fuel, @serviceslow = tbfly."service" FROM tbfly where StartAirp='ADA' AND StartDtTm='IST' order by dbo.tbfly.totalprice asc
INSERT INTO bestist(price, airv , startdate , enddate , base, tax , fuel, fltnumb , "services" , city)
VALUES (@pricelow , @airvlow , @startdatelow , @enddatelow , @baselow , @taxlow , @fuellow , @fltnumb , @serviceslow , 'ADA') -
dbde tüm null kayıtların içini boşalt null olmasın yani bol olsun
-
if exists select
yada daha iyisi
with select
komutlarına bak hocam, coalesce komutlarına da bi göz gezdir burda olmasada başka yerlerde işini görebilir
HolyOne tarafından 05/Mar/14 13:28 tarihinde düzenlenmiştir
