Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

SQL सर्वर में टेबल-वैल्यूड फ़ंक्शन को बदलें

आप ALTER FUNCTION का उपयोग करके SQL सर्वर में तालिका-मूल्यवान फ़ंक्शन (TVF) को बदल सकते हैं टी-एसक्यूएल सिंटैक्स।

आप बस ALTER FUNCTION . का पालन करें नई परिभाषा के साथ। मूल रूप से यह CREATE FUNCTION . का उपयोग करने जैसा है सिवाय इसके कि आप CREATE . को बदल दें ALTER . के साथ ।

उदाहरण

प्रदर्शित करने के लिए यहां एक उदाहरण दिया गया है:

ALTER FUNCTION dbo.udf_CatsByName_ITVF(@CatName varchar(70) ) SCHEMABINDINGASRETURN के साथ रिटर्न टेबल (चुनें CatId, CatName, फोन से dbo.Cats जहां CatName =@CatName );GO

यदि यह फ़ंक्शन पहले से मौजूद नहीं था, और मैं इसे पहली बार बना रहा था, तो मैं निम्नलिखित कोड का उपयोग करूंगा:

CREATE FUNCTION dbo.udf_CatsByName_ITVF(@CatName varchar(70) ) SCHEMABINDINGASRETURN के साथ रिटर्न टेबल (CateId, CatName, dbo से फोन चुनें। CatName =@CatName); जाओ

यह बिल्कुल वैसा ही है, सिवाय इसके कि यह CREATE . से शुरू होता है ALTER . के बजाय ।

छोड़ें और फिर से बनाएं

इसे करने का दूसरा तरीका यह है कि फ़ंक्शन को छोड़ दें और इसे फिर से बनाएं:

ड्रॉप फंक्शन अगर मौजूद है udf_CatsByName_ITVF;GOCREATE FUNCTION dbo.udf_CatsByName_ITVF(@CatName varchar(70) ) SCHEMABINDINGASRETURN के साथ टेबल लौटाता है 

इस मामले में, मैंने डीआईई सिंटैक्स (ड्रॉप इफ एक्ज़िस्ट्स) का उपयोग किया, जिसका अर्थ है कि मुझे कोई त्रुटि नहीं मिलेगी यदि ऑब्जेक्ट इसे छोड़ने का प्रयास करने से पहले पहले से मौजूद नहीं है।

इनलाइन टीवीएफ बनाम मल्टी-स्टेटमेंट टीवीएफ

इस पृष्ठ के उदाहरण एक इनलाइन तालिका-मूल्यवान फ़ंक्शन का उपयोग करते हैं। मल्टी-स्टेटमेंट टीवीएफ पर भी यही अवधारणा लागू होती है।

प्रत्येक के अधिक विस्तृत उदाहरणों के लिए एक इनलाइन टेबल-वैल्यूड फंक्शन बनाएं और एक मल्टी-स्टेटमेंट टेबल-वैल्यूड फंक्शन बनाएं देखें।


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL सर्वर ट्रंकेशन और 8192 सीमा

  2. INSERT पर UNIQUE KEY बाधा का उल्लंघन जहां COUNT(*) =0 SQL सर्वर 2005 पर

  3. SqlDataSourceEnumerator.Instance.GetDataSources() स्थानीय SQL सर्वर 2008 आवृत्ति का पता नहीं लगाता है

  4. SQL सर्वर में परिणाम सेट का प्रतिशत लौटाएं

  5. टीएसक्यूएल में पार्स JSON