أجهزة الكمبيوترقواعد البيانات

SQL الإجراءات المخزنة: إنشاء واستخدام

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

مقدمة

كثير من الناس يعتقدون أنها تشبه إلى إجراءات مختلفة لغات البرمجة رفيعة المستوى (على التوالي، فيما عدا MS SQL). ربما هذا صحيح. كانت هناك معلمات مماثلة، فإنها يمكن أن يصدر قيمة مماثلة. وعلاوة على ذلك، في بعض الحالات، وأنها تأتي في اتصال. على سبيل المثال، تكون مجتمعة مع قواعد البيانات من DDL والبيانات DML، فضلا عن وظائف المستخدم (الاسم الرمزي - UDF).

إجراءات SQL المخزنة في الواقع لديها مجموعة واسعة من المزايا التي تميزها بين هذه العمليات. سلامة، وتقلب الإنتاجية برمجة - كل هذا يجذب المستخدمين الذين يعملون مع قواعد البيانات، أكثر وأكثر. وجاءت ذروة شعبيته الإجراءات للسنوات 2005-2010، عندما حصلت على البرنامج من "مايكروسوفت" تحت اسم «SQL Server إدارة ستوديو». مع مساعدته، أصبح العمل مع قواعد البيانات أسهل بكثير، وأكثر عملية وأكثر ملاءمة. سنة بعد سنة، وهذا الأسلوب لنقل المعلومات اكتسب شعبية في بيئة البرمجة. اليوم، MS SQL خادم هو برنامج المعتاد على الاطلاق، والتي للمستخدمين ل"التواصل" مع قواعد البيانات، وقفت على قدم المساواة مع "إكسل".

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

لتنفيذ هذا العمل مع المعلومات، وهناك العديد من التقنيات لغات البرمجة. وهي تشمل، على سبيل المثال، PL / SQL من نظام إدارة قواعد البيانات أوراكل، PSQL في ينترباسي وأنظمة فايربيرد، فضلا عن الكلاسيكية "maykrosoftovskih» SQL للعمليات. وقد صممت جميعها لإنشاء وتشغيل الإجراءات المخزنة، مما يتيح لك استخدام الخوارزميات الخاصة بهم على معالجات قاعدة بيانات كبيرة. ومن الضروري وضمان أن أولئك الذين ينفذون إدارة هذه المعلومات، يمكن أن تحمي جميع الكائنات من أطراف ثالثة غير مصرح بها، وبالتالي، فإن إنشاء أو تعديل أو حذف بيانات معينة.

إنتاجية

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

سلامة

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

نقل البيانات

التواصل بين إجراء SQL المخزنة وتطبيق العميل هو استخدام المعلمات وإرجاع القيم. وهذا الأخير ليس من الضروري لنقل البيانات إلى إجراء مخزن، ولكن المعلومات (بشكل رئيسي على طلب المستخدم)، ومعالجتها لSQL. اكتمال الإجراء مرة واحدة المخزنة وظيفتها، فهو يرسل الحزم البيانات مرة أخرى (ولكن، مرة أخرى، إذا رغبت في ذلك) إلى تطبيق الاستدعاء باستخدام مجموعة متنوعة من الأساليب التي يمكن تنفيذها على أنها دعوة إلى إجراء SQL المخزنة والعودة، على سبيل المثال:

- نقل البيانات عن طريق نوع المخرجات المعلمة.

- نقل البيانات عبر بيان العودة؛

- نقل البيانات عن طريق اختيار الناقل.

والآن ننظر كيف تبدو هذه العملية نفس الداخل.

1. إنشاء EXEC المخزنة في إجراء SQL

يمكنك إنشاء إجراء في MS SQL (الأدارة ستوديو). بعد إنشاء هذا الإجراء، هو مدرج على عقدة قاعدة بيانات للبرمجة، والتي يتم تنفيذ الإجراء من قبل المشغل الخلق. لتنفيذ الإجراءات المخزنة SQL باستخدام EXEC-وهي العملية التي تحتوي على اسم الكائن.

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

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

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

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

- الجسم لا يخلق أي إجراء مخزن الآخرين؛

- يجب أن الجسم لا يخلق انطباعا خاطئا عن وجوه؛

- الجسم لا يخلق أي المشغلات.

2. تعيين متغير في الجسم الإجراء

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

في بعض الأحيان قد تلاحظ أن يتم تعيين بعض المتغيرات في نفس الصف، ولكل متغير مفصولة بفاصلة. لاحظ أيضا أن المتغير هو مسبوقة ب @. في الجسم من هذا الإجراء، يمكنك تعيين المتغير الذي تريد. على سبيل المثال، متغير @ NAME1 يمكن أن يتم الإعلان عن قرب نهاية الجسم الداخلي. من أجل تعيين قيمة متغير تعريف باستخدام مجموعة من البيانات الشخصية. وعلى النقيض من الوضع عندما أعلن أكثر من متغير واحد في نفس الصف، مجموعة واحدة فقط من البيانات الشخصية المستخدمة في هذه الحالة.

المستخدمين غالبا ما يسأل السؤال التالي: "كيف لتعيين قيم متعددة في بيان واحد في الجسم من الإجراء" حسنا؟. مسألة مثيرة للاهتمام، ولكن هذا هو أسهل بكثير مما كنت اعتقد. الجواب: مع مساعدة من هذه أزواج ب «اختر فار = قيمة". يمكنك استخدام هذه الأزواج، مفصولة بفواصل.

3. إنشاء إجراء SQL المخزنة

في طائفة واسعة من الأمثلة من الناس تظهر إنشاء إجراء مخزن بسيط وتنفيذه. ومع ذلك، فإن الإجراء قد يستغرق هذه المعالم أن عملية الاستدعاء سيكون لها قيمة على مقربة منه (ولكن ليس دائما). إذا كانت تطابق، ثم تبدأ عمليات المطابقة داخل الجسم. على سبيل المثال، إذا قمت بإنشاء الإجراء الذي سيستغرق المدينة والمنطقة من المتصل وإرجاع البيانات حول مدى يشير أصحاب البلاغ إلى المدينة والمنطقة المقابلة. فإن إجراء الاستعلام جدول قاعدة بيانات للمؤلفين، على سبيل المثال، الحانات، لأداء هذا الحساب المؤلفين. للحصول على هذه البيانات، على سبيل المثال، وجوجل بتحميل النصي SQL مع صفحة SQL2005.

في المثال السابق، فإن الإجراء يأخذ معلمتين، والتي في اللغة الإنجليزية يمكن أن يسمى بشروطState وCity. نوع البيانات يتوافق مع نوع محدد في التطبيق. الجسم الداخلي لديها المتغيرات الداخليةTotalAuthors (كل الكتاب)، ويستخدم هذا المتغير لعرضه عددهم. ثم يأتي طلب اختيار القسم أن جميع التهم الموجهة إليه. وأخيرا، يتم عرض القيمة المحسوبة في إطار الإخراج باستخدام عبارة الطباعة.

كيفية تنفيذ إجراء SQL المخزنة

هناك طريقتان لتنفيذ الإجراء. يظهر الطريقة الأولى عن طريق تمرير المعلمات كما هو الحال في قائمة مفصولة بفواصل بعد اسم الإجراء. لنفترض أن لدينا اثنين من القيم (كما في المثال السابق). يتم جمع هذه القيم باستخدام المتغيرات وإجراءStateCity. في هذه الطريقة، المعالم الهامة من أجل نقل. وتسمى هذه الطريقة تسلسل انتقال من الحجج. في الطريقة الثانية، يتم تعيين المعلمات بالفعل مباشرة، وفي هذه الحالة أمر غير مهم. وتعرف هذه الطريقة الثانية كما نقل الوسائط المسماة.

الإجراء قد تنحرف قليلا عن المعتاد. وكل نفس، كما في المثال السابق، ولكن تحولت المعلمات هنا فقط. هذا هو يتم تخزينCity المعلمة الأولى، وState المخزنة بجانب القيمة الافتراضية. وعادة ما يتم تخصيص الإعداد الافتراضي بشكل منفصل. الإجراءات المخزنة SQL هي المعلمات كما بسيطة. في هذه الحالة، بشرط الخيار "في UT 'يستبدل القيمة الافتراضية" CA ". في تجسيد الثاني يمر قيمة واحدة فقط حجة لCity، والتخلف عن خيارState إلى "CA". ينصح المبرمجين ذوي الخبرة أن جميع المتغيرات الافتراضية تقع أقرب إلى نهاية القائمة المعلمة. خلاف ذلك، فإن التنفيذ غير ممكن، ثم لديك للعمل مع نقل الوسائط المسماة أن أطول وأكثر تعقيدا.

4. الإجراءات المخزنة SQL الخادم: سبل العودة

هناك ثلاث طرق رئيسية لإرسال البيانات المخزنة في إجراء يسمى. وفيما يلي قائمة أنهم:

- قيم الإرجاع الإجراء المخزن.

- إخراج المعلمة الإجراءات المخزنة.

- اختر واحدة من الإجراءات المخزنة.

4.1 قيم عودة الإجراءات المخزنة SQL

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

الآن دعونا ننظر في كيفية تنفيذ هذا الإجراء وعرض القيمة، إعادته. القيام بإجراءات المطلوبة لإنشاء والطباعة المتغيرة، والتي يتم تنفيذها بعد العملية. لاحظ أن بدلا من طباعة المشغل يمكن استخدام مشغل الاختيار، على سبيل المثال، حددRetValue، وOutputValue.

4.2 إجراءات إخراج المعلمة SQL المخزنة

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

في هذا المثال، سيكون هناك اسم اثنين من عطلة نهاية الأسبوع:TotalAuthors وTotalNoContract. وحددت بها في قائمة المعلمة. يتم تعيين هذه المتغيرات القيم داخل الجسم الداخلي. عندما نستخدم معلمات الإخراج، ويمكن للطالب معرفة القيمة المعينة في الجسم الداخلي.

وبالإضافة إلى ذلك، في السيناريو السابق، وأعلن اثنين من المتغيرات لمعرفة القيم التي يتم تثبيتها الإجراءات المخزنة، MS SQL Server كما معلمة إخراج. ثم يتم تنفيذ الإجراء من خلال تطبيق القيمة العادية «CA» المعلمة. المعلمات التالية هي الانتاج، وبالتالي أعلن يتم تمرير المتغيرات بالطريقة المقررة. يرجى ملاحظة أنه عندما الكلمة الانتاج المتغيرة أيضا المحددة هنا. بعد الانتهاء من الإجراء بنجاح، يتم عرض القيمة التي تم إرجاعها باستخدام معلمات الإخراج في إطار الرسالة.

4.3 اختيار الإجراءات المخزنة SQL

ويستخدم هذا الأسلوب لإرجاع مجموعة في الجدول شكل قيم البيانات (السجلات) لاستدعاء الإجراء المخزن. في هذا المثال، SQL الإجراء المخزن مع المعلماتAuthID تطلب الجدول "الكتاب" من خلال تصفية السجلات التي تم إرجاعها من قبل هذاAuthId المعلمة. حدد مشغل يقرر ما ينبغي أن تعاد إلى استدعاء الإجراء المخزن. عندما AuthId إجراء مخزن تنتقل إلى الوراء. هذا الإجراء هو دوما بإرجاع فقط سجل واحد أو لا شيء على الإطلاق. ومع ذلك، لا يكون الإجراء المخزن أي قيود على عودة دخول أكثر من واحد. في كثير من الأحيان ويمكن الاطلاع على الأمثلة التي يتم البيانات عودة المحدد باستخدام المعلمات مع المتغيرات المحسوبة من خلال توفير عدد وافر من إجمالي القيم.

وفي الختام

إجراء مخزن هو برنامج خطير جدا، وعاد أو نقلها، فضلا عن إنشاء المتغيرات اللازمة نتيجة لتطبيق العميل. منذ يتم تنفيذ الإجراء المخزنة على الخادم نفسه، وتبادل البيانات بكميات كبيرة بين الخادم وتطبيق العميل (لبعض العمليات الحسابية) يمكن تجنبها. هذا يجعل من الممكن لتقليل الحمل على خادم SQL، وهذا، بالطبع، هو يد أصحابها. يتم تخزين واحدة من سلالات إجراءات T SQL، ولكن هناك حاجة دراستهم لأولئك الذين يشاركون في إنشاء قاعدة بيانات مثيرة للإعجاب. وهناك أيضا، حتى كمية كبيرة ضخمة من الفروق الدقيقة التي يمكن أن تكون مفيدة في دراسة الإجراءات المخزنة، ولكن هذه الحاجة بالنسبة لأولئك الذين يخططون للقيام البرمجة ضيقة، بما في ذلك مهنيا.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 ar.delachieve.com. Theme powered by WordPress.