Share via


Saklı yordam çağırma

Sunucu veya istemci uygulamasından saklı yordamlar çağrılabilir.Ya da, durum, saklı yordamlar her zaman ya da içerik sunucusu veya veritabanı sunucusunda çalışır.Yürütmek için gerekli özel izin vardır bir saklı yordam.Bir saklı yordam bir derleme tarafından sunucu veya veritabanı içerik eklendikten sonra herhangi bir kullanıcı için yürütmek saklı yordam tarafından gerçekleştirilen eylemler kullanıcı için rol verir sürece saklı yordam.

Arayan bir saklı yordam mdx içinde içsel bir mdx işlev çağırma olarak aynı şekilde yapılır.Herhangi bir parametre almaz bir saklı yordam için yordamı ve boş bir parantez çifti adı kullanılır, aşağıda gösterildiği gibi:

MyStoredProcedure()

Saklı yordam bir veya daha fazla parametre alır, sonra parametreleri, virgülle ayrılmış sırayla sağlanır.Üç parametre ile bir örnek saklı yordam aşağıdaki örnekte gösterilmiştir:

MyStoredProcedure("Parameter1", 2, 800)

mdx sorguları saklı yordam çağırma

Tüm mdx sorguları saklı yordam bir mdx ifade gereken doğru tür döndürmelidir.Bir saklı yordam doğru dönüş türü değil, bir mdx hata ortaya çıkar.Aşağıdaki örnekler, küme üye ve matematik işleminin sonucu döndüren saklı yordamlar göstermektedir.

Bir kümesi döndürme

Aşağıdaki örnekler uygulayan bir saklı yordam, küme döndüren MySproc olarak adlandırılır.İlk örnekte, MySproc işlevi küme doğrudan seçme deyimi içinde.İkinci iki örneklerde MySproc Crossjoin ve DrilldownLevel işlevler için bağımsız değişken olarak küme döndürür.

SELECT MySetProcedure(a,b,c) ON 0 FROM Sales
SELECT Crossjoin(MySetProcedure(a,b,c)) ON 0 FROM Sales
SELECT DrilldownLevel(MySetProcedure(a,b,c)) ON 0 FROM Sales

Üye döndüren

Aşağıdaki örnek, bir işlev üye döndüren MySproc işlev gösterir:

SELECT Descendants(MySproc(a,b,c),3) ON 0 FROM Sales

Matematik işleminin sonucu döndüren

SELECT Country.Members on 0, MySproc(Measures.Sales) ON 1 FROM Sales

Arama ifadesi ile saklı yordam çağırma

Saklı yordamlar adlı MDX Komutunu kullanarak bir mdx sorgusu bağlamı dışında Call deyim.

Ya da yan etkileri kaydedilmiş sorgu veya almak uygulamanın örneğini oluşturmak için bu yöntem kullanabilirsiniz sonuçlar kaydedilmiş sorgu.Yaygın kullanımı, Call deyim Çözümleme Yönetim Nesneleri (ÇYN) sahip olmayan yönetim işlevleri gerçekleştirmek için kullanmak olacaktırdönüş bir sonuç. Örneğin aşağıdaki çağrı komutu bir saklı yordam:

Call MyStoredProcedure(a,b,c)

Desteklenen tek dönen türü saklı yordam , bir Call deyim olan bir satır kümesi.Bir satır kümesi için seri hale getirme ile tanımlanan XML for Analysis.Yoksa bir saklı yordam , bir Call deyim döndürür herhangi bir türü, gözardı edilir ve döndürülen XML çağıran bir uygulama.Hakkında daha fazla bilgi için XML for Analysis satır kümeleri, bakın, XML for Analysis şema satır kümeleri.

Bir saklı yordam döndürür, bir.net satır kümesi Analysis Services sonucu sunucudaki dönüştüren bir XML for Analysis satır kümesi.XML for Analysis Satır kümesi içinde saklı bir yordam tarafından döndürülen her zaman Call işlev.Bir dataset içinde ifade edilemeyen özellikleri içeriyorsa, XML for Analysis satır kümesi, bir hata oluşur.

Void değerleri (örneğin, Visual Basic'te çağırılacakları) döndüren yordamlar arama anahtar sözcüğü ile görevli.Örneğin, bir mdx deyim içindeki MyVoidFunction() işlev kullanmak isteseydiniz aşağıdaki sözdizimini görevli:

CALL(MyVoidFunction)