SQL Server'ın bir tetikleyicideki mantıksal INSERTED ve DELETED tablolarının değiştirilmesine izin vermediği göz önüne alındığında, tek bir sütunun değerini değiştirmenin ve tüm insert ifadesinin tamamını yeniden yazmanın kolay bir yolu yok mu? Örneğin, tetikleyiciyi uyguladığım tablo 20 sütun içeriyor. Bir sütun (satır başına) için INSERTED tablosundaki değeri değiştirmek ve sonra bu satırı tabloya eklemek istiyorum. Bunu 19 sütun içeren bir ek ifadesi yazmadan artı değeri değiştirdiğim bir sütun yazmadan yapabilir miyim?SQL Server, insert tetikleyicileri yerine - tek bir sütunu değiştirmek için kolay bir yol var mı?
5
A
cevap
7
Evet, bir "insert-insert" tetikleyicisi yerine, "insert after" tetikleyicisini kullanmanız yeterlidir.
Bu şekilde, satır önceden tabloya eklenmiş ve yapmanız gereken tek şey, genellikle (birincil olarak) birincil anahtar alanındaki INSERTED tablosuna iç birleştirme ile bir (dikkatle hazırlanmış) güncelleme bildirimi yayınlamaktır.
3
BradCs cevap daha fazla ayrıntı eklemek için:
sözdizimi güncelleştirme için bir katılmak ile
TabiiUpdate table
set columnA = inserted.columnA/10
from table
inner join inserted on table.id = inserted.id
İlgili konular
- 1. Erlang'da bir sububsub kayıt alanındaki bir değeri değiştirmek için daha kolay bir yol var mı?
- 2. Parsec kullanıcı durumunun türünü değiştirmek için kolay bir yol?
- 3. Parça listesindeki parçaların sırasını değiştirmek için bir yol var mı?
- 4. Tek bir sütunu LINQ to SQL
- 5. SQL Server 2005 - ModifyDate sütunu - Bir Hesaplanmış Sütun kullanarak bunu uygulamak için doğru bir yol var mı?
- 6. SQL Server: tek bir soru
- 7. SQL Server 2005 - tablo tetikleyicileri kaldırılıyor mu?
- 8. INSERT INTO (SQL Server 2005)
- 9. SQL Server Hesaplanan Sütunu Değiştirme
- 10. Kovaryans bildirmek için bir yol var mı?
- 11. Bir SQL insert Deyiminde Bit değerini Tersine çevirmenin zarif bir yolu var mı?
- 12. WP8: Windows telefon uygulaması için bir BitmapImage ölçeklendirmek ve bulanıklaştırmak için kolay bir yol var mı?
- 13. SQL: Bildirim Her Satır için VS Tetikleyicileri
- 14. Bir jQuery komut dizisinin bir olay olarak adlandırıldığını öğrenmek için kolay bir yol var mı?
- 15. SQL Server - Arama yaparken teklifleri görmezden gelmenin kolay bir yolu var mı?
- 16. Bir satırın INSERT ifadesine dönüştürülmesini isteyen bir kişi var mı?
- 17. SQL - - fonksiyon bir SQL Server fonksiyonu var tablo
- 18. BULK INSERT belirli sütunlara mı?
- 19. Dosyalarda dolaşmak için kolay bir yol C#
- 20. Bir nesnedeki değişiklikleri izlemek için bir yol var mı?
- 21. C++ dosyasındaki bir dizgede okumak için tek liner var mı?
- 22. Bir görüntünün gradyanını hesaplamak için OpenCV'de hızlı ve kolay bir yol var mı?
- 23. Bir Tumblr temasının html'sini arayüzlerini kullanmadan düzenlemek için daha kolay bir yol var mı?
- 24. SASS'de bir dersi “genişletmek” için bir yol var mı?
- 25. Bir hücre dizisinde iki öğeyi değiştirmek için deyimsel bir yol var mı?
- 26. INSERT XML, SQL Server 2008 veritabanına
- 27. SQL Server - Tablo bazında izin var mı?
- 28. SQL Server profilleyicisinin PostgreSQL eşdeğeri var mı?
- 29. SQL Server 2008'de bir veritabanı diyagramında bir Görünümü görsel olarak görüntülemek için bir yol var mı?
- 30. DISABLE/ENABLE Tetikleyicileri Denetimi SQL
Biraz zayıf olduğunu! Teşekkürler! – Matt