سؤال

لقد لاحظت أن Visual Studio 2008 يضع أقواسًا مربعة حول أسماء الأعمدة في SQL.هل تقدم الأقواس أي ميزة؟عندما أقوم بتسليم رمز T-SQL لم أزعجهم أبدًا.

مثال:استوديو مرئي:حدد [العمود 1]، [العمود 2] وما إلى ذلك...

طريقتي الخاصة:حدد العمود 1 والعمود 2 وما إلى ذلك ...

هل كانت مفيدة؟

المحلول

تكون الأقواس مطلوبة إذا كنت تستخدم كلمات أساسية أو أحرف خاصة في أسماء الأعمدة أو معرفاتها.يمكنك تسمية عمود [First Name] (مع مسافة)--ولكن بعد ذلك ستحتاج إلى استخدام الأقواس في كل مرة تشير فيها إلى هذا العمود.

تضيفها الأدوات الأحدث في كل مكان فقط في حالة أو من أجل الاتساق.

نصائح أخرى

تكون مفيدة إذا كانت أعمدتك تحمل نفس أسماء الكلمات الأساسية لـ SQL، أو تحتوي على مسافات.

مثال:

create table test ( id int, user varchar(20) )

أوه لا!بناء جملة غير صحيح بالقرب من الكلمة الأساسية "المستخدم".لكن هذا:

create table test ( id int, [user] varchar(20) )

يعمل بشكل جيد.

وهي مفيدة إذا كنت (لسبب ما) تستخدم أسماء الأعمدة بأحرف معينة على سبيل المثال.

Select First Name From People

لن ينجح الأمر، ولكن وضع أقواس مربعة حول اسم العمود قد ينجح

Select [First Name] From People

باختصار، إنها طريقة للإعلان بشكل صريح عن اسم الكائن؛العمود أو الجدول أو قاعدة البيانات أو المستخدم أو الخادم.

يمكن أن تحتوي أسماء الأعمدة على أحرف وكلمات محجوزة من شأنها أن تربك محرك تنفيذ الاستعلام، لذا فإن وضع قوسين حولها في جميع الأوقات يمنع حدوث ذلك.أعتقد أن الأمر أسهل من التحقق من وجود مشكلة ثم التعامل معها.

يمكن استخدام الأقواس عندما تكون أسماء الأعمدة عبارة عن كلمات محجوزة.

إذا كنت تقوم بإنشاء عبارة SQL برمجيًا من مجموعة من أسماء الأعمدة التي لا تتحكم فيها، فيمكنك تجنب المشكلات عن طريق استخدام الأقواس دائمًا.

بالإضافة إلى ذلك ، تحتوي بعض قواعد بيانات SharePoint على واصلة في أسمائها.يسمح استخدام الأقواس المربعة في عبارات SQL بتحليل الأسماء بشكل صحيح.

أعتقد أنه يضيفهم هناك من أجل الاتساق ...تكون مطلوبة فقط عندما يكون لديك مسافة أو حرف خاص في اسم العمود، ولكن من الأفضل تضمينها طوال الوقت عندما يقوم IDE بإنشاء SQL.

بغض النظر عن اتباع اصطلاح التسمية الذي يتجنب استخدام الكلمات المحجوزة، تضيف Microsoft كلمات محجوزة جديدة.يسمح استخدام الأقواس بترقية التعليمات البرمجية الخاصة بك إلى إصدار SQL Server جديد، دون الحاجة أولاً إلى تحرير الكلمات المحجوزة حديثًا لـ Microsoft من تعليمات العميل البرمجية الخاصة بك.يمكن أن يكون هذا التحرير مصدر قلق كبير.قد يتسبب ذلك في إيقاف مشروعك قبل الأوان....

يمكن أن تكون الأقواس مفيدة أيضًا عندما تريد استبدال الكل في البرنامج النصي.إذا كانت الدفعة الخاصة بك تحتوي على متغير يسمى @String وعمود يسمى [String]، فيمكنك إعادة تسمية العمود إلى [NewString]، دون إعادة تسمية @String إلى @NewString.

خلال العصور المظلمة لـ SQL في التسعينيات، كانت هذه ممارسة جيدة حيث كان مصممو SQL يحاولون إضافة كل كلمة في القاموس ككلمة رئيسية لسيل لا نهاية له من الميزات الجديدة وأطلقوا عليها اسم مسودة SQL3.

لذلك فهو يحافظ على التوافق إلى الأمام.

ووجدت أن له تأثيرًا جانبيًا لطيفًا آخر، فهو يساعد كثيرًا عند استخدام grep في مراجعات الأكواد وإعادة البناء.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top