21 Aralık 2012, Cuma
Nasıl bir 'yan' SQL dizesinde?
Burada benim yapmak istediğim şey şuMySQLVeritabanı kullanarakC#.NET.
Etmek istiyorum:
SELECT *
FROM itemsOrdered
WHERE purchaseOrder_ID = '@purchaseOrdered_ID'
AND status = 'PENDING'
Eğer o if(dr.HasRows == false)
sayesinde mümkün olan herhangi bir satır, geri verseydi şimdi değil UPDATE
purchaseOrder
veritabanı: bir oluşturmak istiyorum
UPDATE purchaseOrder
SET purchaseOrder_status = 'COMPLETED'
WHERE purchaseOrder_ID = '@purchaseOrder_ID'
Bu işlem biraz daha kısa yapmak mümkün olacak nasıl herhangi bir fikir?
CEVAP
21 Aralık 2012, Cuma
Belirli bir sorgu için, bunu yapabilirsiniz:
UPDATE purchaseOrder
SET purchaseOrder_status = 'COMPLETED'
WHERE purchaseOrder_ID = '@purchaseOrder_ID' and
not exists (SELECT *
FROM itemsOrdered WHERE purchaseOrder_ID = '@purchaseOrdered_ID' AND status = 'PENDING'
)
Ancak, daha yüksek bir düzeyde döngü olduğunu tahmin edebilirim. Tüm bu değerleri ayarlamak için, bu deneyin:
UPDATE purchaseOrder
SET purchaseOrder_status = 'COMPLETED'
WHERE not exists (SELECT 1
FROM itemsOrdered
WHERE itemsOrdered.purchaseOrder_ID = purchaseOrder.purchaseOrdered_ID AND
status = 'PENDING'
limit 1
)
Bunu Paylaş:
Nasıl SQL Server bağlantı dizesinde bi...
Nasıl son tamamlama Geri Al mı?...
JavaScript kilitler nasıl çalışır?...
Nasıl bir yönlendirme sayfası jQuery k...
Nasıl bir dize başka bir dize içeriyor...