Aracılığıyla paylaş


Saklı yordamları çağırma

Saklı yordamlar sunucu ya da istemci uygulamasından çağrılabilir. Her iki durumda da, her zaman sunucuda, sunucu veya veritabanı ya da bağlam çalıştırmak saklı. Bir saklı yordamı yürütmek için gereken özel izin vardır. Bir saklı yordam bir kurul tarafından sunucu veya veritabanı içerik eklendikten sonra saklı yordam tarafından gerçekleştirilen eylemler kullanıcı rolü verir sürece herhangi bir kullanıcı saklı yordam yürütebilirsiniz.

mdx içinde saklı yordam çağırma, içsel bir mdx işlev çağırma gibi aynı şekilde yapılır. Hiçbir parametre alır bir saklı yordam için prosedür ve boş bir parantez çifti adı kullanılır, burada gösterildiği gibi:

MyStoredProcedure()

MyStoredProcedure()

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

MyStoredProcedure("Parameter1", 2, 800)

MyStoredProcedure("Parameter1", 2, 800)

mdx sorgular saklı yordamları çağırma

Tüm mdx sorguları, saklı yordam bir mdx ifade gerekli sözdizimsel doğru türde döndürmelidir. Saklı yordam türü doğru döndürmezse, mdx hata oluşur. Aşağıdaki örnekler, bir set, üye ve bir matematiksel işlem sonucu döndüren saklı yordamlar göstermektedir.

Bir kümesi döndürme

Aşağıdaki örnekler kümesi döndüren MySproc denilen bir saklı yordamı uygulayın. İlk örnekte, MySproc select deyimi doğrudan kümesindeki verir. İkinci iki örneklerde, MySproc Crossjoin ve DrilldownLevel işlevler için bağımsız değişken olarak kümesi 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

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şlevini gösterir:

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

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

Bir matematik işleminin sonucu döndüren

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

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

Call deyimi ile saklı yordamları çağırma

Saklı yordamlar mdx kullanarak bir mdx sorgusu bağlamı dışında çağrılabilir Calldeyimi.

Ya da yan etkileri depolanmış bir sorgunun veya depolanmış bir sorgunun sonuçlarını almak uygulamanın örneğini oluşturmak için bu yöntemi kullanabilirsiniz. Yaygın bir kullanımı Calldeyimi dönüş sonucu olmayan yönetim işlevleri gerçekleştirmek üzere analiz Management Objects (amo) kullanmak olurdu. Örneğin, aşağıdaki komut bir saklı yordamı çağırır:

Call MyStoredProcedure(a,b,c)

Call MyStoredProcedure(a,b,c)

Sadece desteklenen saklı yordam döndürülen türü bir Calldeyimi olan bir satır kümesi. Bir satır kümesi için seri hale getirme analizi için xml tarafından tanımlanır. Eğer bir saklı yordam bir Calldeyimi döndürür başka bir türü, bu ihmal ve döndürülen xml çağıran uygulama değil. Satır kümeleri çözümleme Bkz: xml şeması satır kümeleri çözümleme için xml hakkında daha fazla bilgi için.

Saklı yordam döndürür bir.net satır kümesi, Analysis Servicesiçin analiz satır kümesi xml sonuç sunucuda dönüştürür. Analiz satır kümesi xml her zaman bir saklı yordam tarafından döndürülen Callişlevi. Dataset XML için çözümleme satır kümesi belirtilemeyen özellikleri içeriyorsa, hata oluşur.

Geçersiz değerler (örneğin, Visual Basic'te altyordam) döndüren yordamlar da arama anahtar kelime ile istihdam edilebilir. Örneğin, bir mdx deyimi içinde MyVoidFunction() işlevi kullanmak isteseydiniz, aşağıdaki sözdizimini istihdam:

CALL(MyVoidFunction)

CALL(MyVoidFunction)

Ayrıca bkz.

Kavramlar

Çok boyutlu modeli derlemeler yönetimi

Saklı yordamları tanımlama