लिंक होना चाहिए:
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
- पहचानकर्ता ट्रांजैक्ट-एसक्यूएल आरक्षित शब्द नहीं होना चाहिए। SQL सर्वर आरक्षित शब्दों के अपरकेस और लोअरकेस दोनों संस्करणों को सुरक्षित रखता है। जब ट्रांजैक्ट-एसक्यूएल स्टेटमेंट में पहचानकर्ताओं का उपयोग किया जाता है, तो इन नियमों का पालन नहीं करने वाले पहचानकर्ताओं को दोहरे उद्धरण चिह्नों या कोष्ठकों द्वारा सीमांकित किया जाना चाहिए . आरक्षित शब्द डेटाबेस संगतता स्तर पर निर्भर करते हैं। इस स्तर को ALTER DATABASE स्टेटमेंट का उपयोग करके सेट किया जा सकता है।
और वे भूल गए:https://msdn.microsoft.com/en-us /लाइब्रेरी/ms174979.aspx
मैंने जो नियम लिखा है वह "पूर्ण" तालिकाओं के लिए है, अस्थायी तालिकाओं के लिए नहीं, और इसमें स्कीमा नाम शामिल नहीं है।