Genel olarak, prosedürler uygulanmamalıdır. Bu tür işlem kontrol kararları, mantıksal bir işlemin ne zaman tamamlandığını bilen daha üst düzey koda bırakılmalıdır. Saklı yordamın içinde işlem yaparsanız, yordamın daha büyük bir işlemin parçası olmasını isteyen değişiklikleri isteyen bir arayan yordamı doğrudan çağıramayacağı için yeniden kullanılabilirliğini sınırlandırıyorsunuz.
Bir yordamı etkileşimli olarak çağırırsanız, işlemin mantıklı bir işlem olmasını düşünüyorsanız veya birden çok yordam çağrısı içeren daha büyük bir işlem oluşturmayı düşünüyorsanız Oracle'ın hiçbir fikri olmadığı için işlemi açıkça yürütmeniz veya geri almanız gerekir. Eğer kullanırsanız dbms_scheduler
, dbms_scheduler
bir iş mantıksal işlem olduğunu ve başarılı oldu varsayarak işin sonunda (en taahhüt varsayar dbms_job
aynı şeyi yapar).
İlk olarak işlevler verileri manipüle etmemelidir. Verileri işleyen bir işlev bir SQL ifadesinden çağrılamaz (işlevin kendisinin neredeyse hiç uygun olmayan bir otonom işlem kullandığı bildirildiği köşe vakasını engeller). Hem işlevlere hem de yordamlara sahip olmanın tüm amacı, işlevlerin SQL deyimlerine gömülebilmesi ve herhangi bir veri değiştirmediği için kullanıcılara daha serbestçe verilebilmesidir.