2012-09-25 7 views
11

मैं एक साधारण फ़ंक्शन बना रहा हूं जो एक तालिका में एक पंक्ति डालता है। सम्मिलन के बाद मुझे कुछ भी वापस करने के लिए फ़ंक्शन की आवश्यकता नहीं है। मैंने अभी एमएसडीएन में फ़ंक्शन निर्माण वाक्यविन्यास की जांच की है और ऐसा लगता है कि फ़ंक्शन को एक मान वापस करना होगा। मैंने फ़ंक्शन बनाने का भी प्रयास किया लेकिन वाक्यविन्यास त्रुटि मिली।एसक्यूएलसेवर में एक फ़ंक्शन बनाएं जो कुछ भी वापस नहीं लौटाता

मुझे आश्चर्य है कि कोई ऐसा फ़ंक्शन बनाने का कोई तरीका है जो कोई मूल्य वापस नहीं करता है।

क्या कोई मुझे ऐसा बता सकता है कि ऐसा कोई कार्य करने का कोई तरीका है या नहीं? अग्रिम धन्यवाद :)

उत्तर

13

फिर अपनी आवश्यकता को प्राप्त करने के लिए संग्रहीत प्रक्रिया का उपयोग करें। क्योंकि कार्य मूल्यों को वापस करने के लिए है।

+0

धन्यवाद, लेकिन क्या मैं इस संग्रहीत प्रक्रिया को अन्य संग्रहीत प्रक्रियाओं के अंदर कॉल कर सकता हूं? – Narendra

+0

सुनिश्चित करें कि आप यह – AnandPhadke

+0

ठीक कह सकते हैं। मैं फ़ंक्शन के बजाय एक proc बना दूंगा। – Narendra

9

समारोह के बजाय प्रक्रिया संग्रहीत बनाने

Create proc my_proc() 
as 
BEGIN 
<your insert statement > 

END 

देखें Examples here

+0

धन्यवाद, लेकिन क्या मैं इस संग्रहीत प्रक्रिया को अन्य संग्रहीत प्रक्रियाओं के अंदर कॉल कर सकता हूं? – Narendra

+0

हाँ आप –

+0

ठीक कह सकते हैं। मैं फ़ंक्शन के बजाय एक proc बना दूंगा। – Narendra

2

अन्य उत्तर के अलावा, मैं एक स्पष्ट एक जोड़ देंगे:

मैं एक साधारण समारोह बनाने हूँ जो एक टेबल पर एक पंक्ति डालता है।

कोई फ़ंक्शन किसी तालिका में पंक्ति नहीं डाल सकता है (परिभाषा के अनुसार, SQL सर्वर में कोई फ़ंक्शन किसी भी दुष्प्रभाव नहीं है, जो अन्य भाषाओं में फ़ंक्शंस से अलग है), तो चाहे आप हों या नहीं एक मूल्य वापस करने के बारे में परवाह है, यह वैसे भी किया जा सकता है। आपको इसके बजाय एक संग्रहीत प्रक्रिया का उपयोग करने की आवश्यकता होगी।

1

SQL सर्वर के अनुसार, आपके पास वापसी मूल्य के बिना कोई फ़ंक्शन नहीं हो सकता है। इसे एक मूल्य वापस करना है। आपके मामले में मैं सलाह दूंगा कि संग्रहीत प्रक्रिया के लिए जाना है।