क्या मैं तालिका-मूल्य वाले फ़ंक्शन के भीतर स्केलर फ़ंक्शन को कॉल कर सकता हूं?फ़ंक्शन के भीतर फ़ंक्शन TSQL
धन्यवाद
क्या मैं तालिका-मूल्य वाले फ़ंक्शन के भीतर स्केलर फ़ंक्शन को कॉल कर सकता हूं?फ़ंक्शन के भीतर फ़ंक्शन TSQL
धन्यवाद
हाँ, बस के रूप में लंबे समय तक तालिका-मान समारोह एक मेज रिटर्न के रूप में इसके पूर्ण हो जाने।
उपयोगकर्ता परिभाषित कार्यों को घोंसला जा सकता है; , जो कि एक उपयोगकर्ता द्वारा परिभाषित फ़ंक्शन अन्य कॉल कर सकता है। घोंसले का स्तर बढ़ता है जब बुलाया गया फ़ंक्शन निष्पादन प्रारंभ होता है, और पर कम किया गया फ़ंक्शन निष्पादन समाप्त होता है। उपयोगकर्ता परिभाषित फ़ंक्शंस 32 स्तर तक घोंसला जा सकते हैं। से अधिक घोंसले के अधिकतम स्तर पूरे कॉलिंग फ़ंक्शन श्रृंखला विफल हो जाते हैं। एक ट्रांजैक्ट-एसक्यूएल उपयोगकर्ता परिभाषित फ़ंक्शन से प्रबंधित कोड का कोई संदर्भ 32-स्तर घोंसले की सीमा के विरुद्ध एक स्तर के रूप में गिना जाता है। प्रबंधित कोड के भीतर से लागू इस सीमा के विरुद्ध नहीं गिना जाता है।
http://msdn.microsoft.com/en-us/library/ms186755.aspx
यह बहुत साधारण है, लेकिन यह काम करता है:
--DROP FUNCTION RETURN_INT
--GO
CREATE FUNCTION RETURN_INT()
RETURNS INT
WITH EXECUTE AS CALLER
AS
BEGIN
RETURN 1
END
GO
--DROP FUNCTION RETURN_TABLE
--GO
CREATE FUNCTION RETURN_TABLE()
RETURNS @Test TABLE (
ID INT
)
WITH EXECUTE AS CALLER
AS
BEGIN
INSERT INTO @Test
SELECT DBO.RETURN_INT()
RETURN
END
आप किसी भी उदाहरण ... मेरी एक काम नहीं कर रहा मिला है ... धन्यवाद –
आसानी से उपलब्ध नहीं है, लेकिन मैं कोशिश करूँगा और एक के साथ आऊंगा। – kemiller2002
धन्यवाद केविन, इससे बहुत मदद मिलेगी –