Merhaba
ürün kodu '6014-0BELEK-0093-302' fiyatı 40,50 ve fiyat tipide peşin yani 1 olsun varsayalım.
Insert into fiyatlar ile kayıdı ekliyorum. veya güncelleme update fiyatlar ile yapıyorum.
Ancak zamandan kazanmak için bu işi kombine etmem gerek. Yani tek sql ile stokkodu ve fiyat tipi 1 olan kayı aramalı varsa update yoksa insert etmeli.
Yol gösterici bir linkde yeterli olur. Modifiye edebilirim
tek sqlde stok kodu varsa güncelle yoksa ekle
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
tek sqlde stok kodu varsa güncelle yoksa ekle
Kişi odur ki, koyar dünyada bir eser. Eseri olmayanın yerinde yeller eser./Muhammed Hadimi
http://www.ibrahimkutluay.net
http://www.ibrahimkutluay.net/blog
http://www.ibrahimkutluay.net
http://www.ibrahimkutluay.net/blog
Re: tek sqlde stok kodu varsa güncelle yoksa ekle
TSQL ile yapılabiliyor ama bana sql 92 uyumlu olanı gerekiyor,
IF EXISTS (SELECT * FROM Table1 WHERE Column1='SomeValue')
UPDATE Table1 SET (...) WHERE Column1='SomeValue'
ELSE
INSERT INTO Table1 VALUES (...)
buda diğer yolu ama arayış devam ediyor
IF EXISTS (SELECT * FROM Table1 WHERE Column1='SomeValue')
UPDATE Table1 SET (...) WHERE Column1='SomeValue'
ELSE
INSERT INTO Table1 VALUES (...)
buda diğer yolu ama arayış devam ediyor
Kişi odur ki, koyar dünyada bir eser. Eseri olmayanın yerinde yeller eser./Muhammed Hadimi
http://www.ibrahimkutluay.net
http://www.ibrahimkutluay.net/blog
http://www.ibrahimkutluay.net
http://www.ibrahimkutluay.net/blog
Re: tek sqlde stok kodu varsa güncelle yoksa ekle
veri tabanını yazmamışsınız. en kötü ihtimal, stored procedure yapılır.
Re: tek sqlde stok kodu varsa güncelle yoksa ekle
Kod: Tümünü seç
begin tran
if exists (select * from table with (updlock,serializable) where key = @key)
begin
update table set ...
where key = @key
end
else
begin
insert table (key, ...)
values (@key, ...)
end
commit tran
Re: tek sqlde stok kodu varsa güncelle yoksa ekle
peki ben burda bir soru sorayım.
bu işi stored procedure ile yaptık diyelim. firebird de. stok kodunu giriş parametresi olarak stokodu kullandık. çıkış olarak da işlem update olmuşsa 1 , insert olmuşsa 2 , başarısızsa 0 dönüyor. (kodları yazmıyorum , çünkü yukardakilerin benzeri). sorum şu. transactionu burada nasıl kullanmalıyız. en sonda readcommitted kullanıyor bazıları , bunun commit den farkı ne?
bir de program kapanırken düşünüyor düşünüyor ve hata mesajı çıkıyor. IBSQL.open şeklinde..
bu işi stored procedure ile yaptık diyelim. firebird de. stok kodunu giriş parametresi olarak stokodu kullandık. çıkış olarak da işlem update olmuşsa 1 , insert olmuşsa 2 , başarısızsa 0 dönüyor. (kodları yazmıyorum , çünkü yukardakilerin benzeri). sorum şu. transactionu burada nasıl kullanmalıyız. en sonda readcommitted kullanıyor bazıları , bunun commit den farkı ne?
bir de program kapanırken düşünüyor düşünüyor ve hata mesajı çıkıyor. IBSQL.open şeklinde..
Re: tek sqlde stok kodu varsa güncelle yoksa ekle
birde update or insertle oluyor bu tarz şeyler şöyle
update or insert stoklar(stok_kodu,stok_adi)
values(:stok_kodu,stok_adi)
matching(stok_kodu)
bu sorgu stok kodu varsa update eder yoksa insert eder.
update or insert stoklar(stok_kodu,stok_adi)
values(:stok_kodu,stok_adi)
matching(stok_kodu)
bu sorgu stok kodu varsa update eder yoksa insert eder.