Tüm Stored Procedure'leri tek seferde silme
Daha önceden ado.net için yazdığım code generator sayesinde crud işlemler için kullanacağım stored procedure'leri kolayca yaratıyordum. Tabi test aşamasındayken her tablo için minimum 4 tane sp (select, insert, update, delete) yarattığımı varsayarsak 10 tane tabloda bu sayı 40 oluyordu. Bulduğum bir hata sonrası bunları tekrar silip yenilerini oluşturmak için silmem gerekiyordu. Drop/Create'te yapılabilirdi tabi ama isimleri de değiştirdiğim için gereksiz fazlalık oluyorlardı. Normalde sağ tıkla tümünü sil gibi bir seçeneği olmadığından dolayı tek tek silmek zorunda kalıyordum ve bu oldukça can sıkıcı. Sp sayısı artınca bu olay ciddi eziyete dönüşüyordu. Neyseki aşağıdaki gibi basit bir kod ile bu işi tek seferde halledebiliyoruz. Aşağıdaki kod tüm stored procedure'leri silmenizi sağlıyor. Kod üzerinde değişiklik yaparak function veya view gibi daha farklı şeyleri de silmeniz mümkün.
SELECT 'DROP PROCEDURE '+ SCHEMA_NAME(schema_id)+'.' + name
FROM veritabani_adi.sys.procedures
WHERE TYPE='P'
AND [name] like '%sp_%'
Bu kod ilgili veritbanında "sp_" ile başlayan tüm stored procedure'leri drop ederek siliyor.