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

SQL सर्वर तालिका नाम मान्य करने के लिए नियमित अभिव्यक्ति

लिंक होना चाहिए:

var regex = new Regex(@"^[\p{L}_][\p{L}\p{N}@$#_]{0,127}$");

ध्यान दें कि सामान्य तौर पर आपको तालिका का नाम [...] . में एम्बेड करना होगा , नियम 3 के कारण (इसलिए SELECT * FROM [SET] एक मान्य क्वेरी है, क्योंकि, जबकि SET एक आरक्षित कीवर्ड है, आप इसे [...] . के साथ "एस्केप" कर सकते हैं )

ध्यान दें कि लिंक किए गए पेज में नियम अधूरा है:

https://msdn.microsoft.com/en-us/library/ से ms175874.aspx

  1. पहचानकर्ता ट्रांजैक्ट-एसक्यूएल आरक्षित शब्द नहीं होना चाहिए। SQL सर्वर आरक्षित शब्दों के अपरकेस और लोअरकेस दोनों संस्करणों को सुरक्षित रखता है। जब ट्रांजैक्ट-एसक्यूएल स्टेटमेंट में पहचानकर्ताओं का उपयोग किया जाता है, तो इन नियमों का पालन नहीं करने वाले पहचानकर्ताओं को दोहरे उद्धरण चिह्नों या कोष्ठकों द्वारा सीमांकित किया जाना चाहिए . आरक्षित शब्द डेटाबेस संगतता स्तर पर निर्भर करते हैं। इस स्तर को ALTER DATABASE स्टेटमेंट का उपयोग करके सेट किया जा सकता है।

और वे भूल गए:https://msdn.microsoft.com/en-us /लाइब्रेरी/ms174979.aspx

मैंने जो नियम लिखा है वह "पूर्ण" तालिकाओं के लिए है, अस्थायी तालिकाओं के लिए नहीं, और इसमें स्कीमा नाम शामिल नहीं है।




  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 सर्वर 2012 में विस्तारित ईवेंट में एक महत्वपूर्ण परिवर्तन

  2. डेटा वेयरहाउस के लिए कैलेंडर तालिका

  3. कौन से कॉलम आम तौर पर अच्छी अनुक्रमणिका बनाते हैं?

  4. SQL सर्वर:गलत संस्करण 661 संलग्न करें

  5. क्या NHibernate में टेबल-वैल्यूड पैरामीटर्स को पास करने के लिए `SqlDbType.Structured` का उपयोग करना संभव है?