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

वाइल्डकार्ड पैरामीटर के साथ संग्रहीत प्रक्रिया

क्या आपने इसे फिर से चलाने का प्रयास किया? मुझे संदेह है कि निष्पादन कॉल अब आपकी प्रक्रिया के मुख्य भाग का हिस्सा है। कैसा रहेगा:

ALTER PROCEDURE dbo.wildcard_name
  @userName NVARCHAR(8) = '%'
AS
BEGIN
  SET NOCOUNT ON;

  SELECT userId, userName
    FROM dbo.user
    WHERE userName LIKE @userName;
END
GO -- <-- this is important! It tells SSMS that your procedure has ended!

EXEC dbo.wildcard_name N'n%';

अन्य सुझावों का एक समूह जिसका उल्लेख नहीं करने के लिए मैं क्षमा चाहता हूँ:

  • ऑब्जेक्ट बनाते और कॉल करते समय आपको हमेशा स्कीमा उपसर्ग निर्दिष्ट करना चाहिए। तो CREATE PROCEDURE dbo.wildcard_name , EXEC dbo.wildcard_name , आदि.
  • उम्मीद है कि आपका प्रोडक्शन कोड SELECT * . का इस्तेमाल नहीं करेगा ।
  • अपने पैरामीटर के लिए nchar के बजाय nvarchar का उपयोग करने की अत्यधिक अनुशंसा करें।
  • अपनी प्रक्रिया के मुख्य भाग को BEGIN . से लपेटें / END और इसे और अधिक पठनीय बनाने के लिए इंडेंटिंग का उपयोग करने से न डरें।
  • आप आमतौर पर SET NOCOUNT ON; . का उपयोग करना चाहेंगे n row(s) affected आपके परिणामों में हस्तक्षेप करने वाले संदेश।
  • NVARCHAR पैरामीटर में एक एन उपसर्ग होना चाहिए (हालांकि मैं उलझन में हूं कि आप varchar . के बीच वैकल्पिक क्यों कर रहे हैं और nchar पहली जगह में - यह दो शिफ्ट हैं जहां मुझे शून्य की उम्मीद है)।
  • संयोजन के आधार पर (और क्या आप चाहते हैं कि खोज केस संवेदनशील हो), आपको COLLATE का उपयोग करके अपना जहां क्लॉज बदलना पड़ सकता है खंड।

संपादित करें ऐसा लगता है कि यह मेरे लिए ठीक काम करता है, इसलिए कृपया बताएं कि आप अलग तरीके से क्या कर रहे हैं (और क्या "काम नहीं किया" का मतलब अभी भी खाली परिणाम है, या कुछ और?):




  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 प्रबंधन स्टूडियो में एक भिन्न पोर्ट नंबर कैसे निर्दिष्ट करते हैं?

  2. त्रुटि:होस्ट के लिए TCP/IP कनेक्शन विफल हो गया है। java.net.ConnectException:कनेक्शन अस्वीकृत:कनेक्ट

  3. पिवट टेबल और समवर्ती कॉलम

  4. SQL सर्वर:क्या एक ही समय में दो तालिकाओं में सम्मिलित करना संभव है?

  5. VB.NET में UDT तालिका संरचना को पुनः प्राप्त करें