Verileri, bilgi içeren bir metin alanını ve durum sütununu sipariş eden sayısal bir sütuna sahip bir tablom var.Numaralandırılmış verileri bir Durum Sütununa göre yeniden sıralayacak bir Depolanmış Prosedürü nasıl yazabilirim?
item_num item status
1 Plate new
2 Cup continued
3 Fork new
4 Spoon revised
bir öğe "durdurulan" bir statü ile güncellenir, ben en fazla üyeye sahip bir "durdurulan" durumu ile tüm öğeleri koymak ve buna göre diğer öğeleri yeniden sıralamak item_num yeniden düzenlemek için listeyi gerekir. Ben Kupası'nı durdurma Yani, eğer, ben bu sonuçlanan tablosunu güncelleştirmek için bir saklı yordam gerekir:
item_num item status
1 Plate new
2 Fork new
3 Spoon revised
4 Cup discontinued
Sadece veri güncelleme ve duruma göre yeniden düzenlemek için bazı yön gerekiyor.
Microsoft SQL Server kullanıyorum. Item_num Birincil Anahtar değildir. Sahip olduğum problem, yapabildiğim şey ile sınırlı olduğum, çünkü masanın kendisinde herhangi bir değişiklik yapamayacağımı, Depolanmış bir Prosedür olmalı ve bu sayıları değiştirmek zorunda. Bu bir EHR'deki Tedavi Planı Hedefleri içindir. Tedavi Planı belgesi oluşturulduğunda, hedefleri Hedef Numarası (item_num) ile listeler. Yani bir kullanıcı bir hedefi durdurursa numaralandırma yanlıştır. Tedavi Planı "devam etmeyen" hedefleri göstermez. Böylece Hedefler 1,2,3,4'ten 1,2,4'e (eğer 3. golü kesersem) gider.
Elektronik Sağlık Kayıtları sisteminin ön ucu için geliştiriciyim. Bir kullanıcı bir düğmeye bastığında bu Saklanmış Prosedürün tetiklenmesi gerekir. Bu site benim için çok yardımcı oldu, ama ilk mesajım - muhtemelen onu karıştırdım. Özür.
Başka sipariş kullanırsınız eski
item_num
yerineJOIN
item_num
yeni uygulanmış olan strateji görüntülendi, tüm item_num sütununu yeniden yazmazdınız. Status_id, status_text, view_order sütunlarını içeren 3. durum tablosunu düşünün; view_order sorguya göre bir sırayla kullanabileceğiniz bir sayıdır, –
Hangi RDBMS'yi kullanıyorsunuz? – Aducci
Bu, bir [XY Problemi] (http://meta.stackexchange.com/questions/66377/what-is-the-xy-problem) olabileceği gibi, niçin öğeleri yeniden numaralandırmanız gerekiyor? Birincil anahtar 'item_num' ise, bu kötü bir fikirdir. – jmoerdyk