Saklı yordamları çağırma

Tamamlandı

Saklı yordamlar bir uygulama tarafından, kullanıcı tarafından veya SQL Server başlatıldığında çağrılabilir.

Kullanıcı tarafından saklı yordamın yürütülmesi

Bir uygulama veya kullanıcı saklı yordamı, EXECUTE komutunu veya kısayolunu yürütürse, EXEC kullanılır ve ardından yordamın iki bölümden oluşan adı kullanılır. Örneğin:

EXEC dbo.uspGetEmployeeManagers

Sistem saklı yordamları execute veya EXEC anahtar sözcüğü kullanılarak da çağrılır. Çağıran veritabanı karşılaştırması, sistem prosedürü adları eşleştirilirken kullanılır. Veritabanı sıralaması büyük/küçük harfe duyarlıysa, saklı yordamı tam olarak prosedür adının harf büyüklüğüne uygun şekilde yürütmeniz gerekir.

Saklı yordam, T-SQL toplu işleminin ilk deyimiyse, yordam EXECUTE veya EXEC anahtar sözcüğü olmadan da çalıştırılabilir.

Tam sistem yordamı adlarını denetlemek için katalog görünümlerini kullanın:

sys.system_objects

sys.system_parameters

Sistem saklı yordamlarına sp_ ön eki eklenmiştir. Sistem saklı yordamları kullanıcılar tarafından oluşturulmaz, ancak tüm kullanıcı tanımlı ve sistem tanımlı veritabanlarının bir parçasıdır. Bunların yürütülmesi için tam ad gerekmez, ancak sys şema adını eklemek en iyi yöntemdir. Örneğin:

EXEC sys.sp_who;

Saklı yordamı otomatik olarak yürütme

SQL Server her başlatıldığında bir saklı yordam çalıştırmanız mümkündür. Veritabanı bakım işlemlerini gerçekleştirmek veya bir yordamı arka plan işlemi olarak çalıştırmak isteyebilirsiniz. Otomatik olarak çalışan saklı yordamlar giriş veya çıkış parametreleri içeremez.

SQL Server örneği her başlatıldığında saklı prosedürü çalıştırmak için sp_procoption kullanın. Sözdizimi şöyledir:

sp_procoption [ @ProcName = ] 'procedure'     
    , [ @OptionName = ] 'option'     
    , [ @OptionValue = ] 'value'

Örneğin:

EXEC sp_procoption @ProcName = myProcedure    
    , @OptionName = 'startup'   
    , @OptionValue = 'on';

Bunları paralel olarak yürütmesi gerekmeyen birden çok yordam yürütmek için, bir yordamı başlangıç yordamı yapın ve başlangıç yordamından diğer yordamları çağırın. Bu işlem yalnızca bir çalışan iş parçacığı kullanır.

Başlangıç yordamları ana veritabanında olmalıdır.