قاعدة بيانات MYSQL مفصل الإجراءات المخزنة وملخص بناء الدالة

ما هو الإجراء المخزن

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

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

خصائص الإجراءات المخزنة

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

    1 والنحو

    CREATE إجراءات sp_name ( )  routine_body

    CREATE PROCEDURE اسم الإجراء () الجسم الداخلي

    DELIMITER // CREATE PROCEDURE myproc (OUT الصورة كثافة العمليات) BEGIN COUNT SELECT (*) INTO الصورة من الطلاب. END // DELIMITER.

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

    2، معلمة

    الإجراء المخزن قد تحتاج إلى أن تكون المدخلات والمخرجات والمدخلات والمخرجات المعلمات، إذا كان هناك معلمات متعددة "،" فصل. الخلية المخزنة معلمات الإجراء المستخدمة في تعريف الإجراءات المخزنة، وهناك ثلاثة أنواع من المعلمات، IN، OUT، INOUT:

    • يجب تحديد قيم المعلمات في عند استدعاء الإجراء المخزن، تعديل قيم المعلمات في عملية التخزين لا يمكن أن تعاد إلى القيم الافتراضية
    • OUT: قد يتم تغيير القيمة داخل الإجراء المخزن، والعوائد
    • INOUT عند الإتصال محددة، ويمكن تغييره وعاد

    الذي، المعلمة sp_name هو اسم الإجراء المخزن؛ وتمثيل proc_parameter قائمة الوسائط الإجراء المخزن، يحدد المعلمة المميزة خصائص الإجراء المخزن، المعلمة routine_body هي المحتوى من التعليمات البرمجية SQL، يمكنك استخدام BEGIN ... END لتحديد بداية ونهاية رمز SQL.

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

    أمثلة الإجراءات المخزنة

    إنشاء الإجراء المخزن اسمه num_from_employee أدناه.

    تخزين اسم الإجراء num_from_employee، متغير الإدخال هي emp_id، الناتج متغير count_num. عبارة SELECT يساوي الاستعلام من الجدول الموظف emp_id قيمة d_id للتسجيل، ونفس العدد من القيم المسجلة حسابها باستخدام COUNT d_id (*)، يتم تخزين نتيجة حساب النهائية في count_num. نتائج التنفيذ هي كما يلي:

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

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

    وظيفة

    في الخلية، وخلق وظائف المخزنة الشكل الأساسي على النحو التالي:

    CREATE FUNCTION sp_name ( ) عوائد نوع  routine_body

    حيث، المعلمة SP_NAME هو اسم الدالة المخزنة. func_parameter المعلمة وظيفة تخزين قائمة إرشادية، RETURNS نوع يحدد نوع قيمة الإرجاع. المعلمات مميزة مميزة وظيفة التخزين المحدد، قيمة المعلمة من القيمة المخزنة من العملية هو نفسه؛ المعلمة routine_body هي المحتوى من التعليمات البرمجية SQL، يمكنك استخدام يبدأ ... نهاية في تحديد بداية ونهاية رمز SQL.

    قد تتكون func_parameter عدد وافر من المعلمات، كل معلمة من اسم المعلمة والمعلمة أنواع، الذي هو النموذج كما يلي: نوع PARAM_NAME

    حيث، المعلمة PARAM_NAME هو اسم المعلمة وظيفة التخزين؛ تحدد نوع المعلمة المعلمة نوع وظيفة الذاكرة، والذي قد يكون أي نوع من قاعدة بيانات MySQL نوع البيانات.

    وظيفة مثيل

    إنشاء وظيفة الذاكرة يسمى name_from_employee أدناه.

    الوظيفة اسم name_from_employee التخزين؛ حجة وظيفة هو emp_id، قيمة الإرجاع هي من نوع VARCHAR. عبارة SELECT يساوي تسجيل من الجدول الموظف emp_id الأسطوانات قيمة الاستعلام، وإرجاع قيمة الحقل اسم السجل. نتائج التنفيذ هي كما يلي:

    وأظهرت النتائج أن تم إنشاء وظيفة التخزين بنجاح. استخدام وظيفة واستخدام وظائف الداخلية الخلية للنفس.

    استخدام المتغيرات

    يمكن تعريف الإجراءات المخزنة وظائف وتستخدم المتغيرات. يمكن للمستخدمين استخدام DECLARE الكلمة الرئيسية لتحديد المتغيرات. ثم يمكنك تعيين متغير. نطاق هذه المتغيرات هو كتلة BEGIN ... END.

    1، وتعريف المتغيرات

    الخلية يمكن استخدامها في الكلمة DECLARE لتحديد المتغيرات. بناء الجملة الأساسية للمتغيرات التي تحدد على النحو التالي:

    DECLARE var_name نوع

    حيث وDECLARE هو الكلمة المستخدمة للمتغيرات تعلن، المعلمة var_name هو اسم المتغير، حيث يمكنك تحديد عدد وافر من المتغيرات في وقت واحد، ويستخدم نوع المعلمة لتحديد نوع المتغير، DEFAULT بند قيمة القيمة الافتراضية لقيمة مجموعة متغيرة، نظرا لم تستخدم شرط افتراضي، القيمة الافتراضية هي NULL.

    تعريفات المتغير التالي my_sql، نوع البيانات نوع INT، القيمة الافتراضية هي 10.

    DECLARE my_sql INT DEFAULT 10؛

    2، والقيم تعيين المتغيرات

    يمكن استخدام الخلية SET الكلمة للقيم تعيين المتغيرات. بناء الجملة الأساسي للبيان SET كما يلي:

    SET var_name = EXPR ...

    الذي، SET الكلمة يستخدم لقيم تعيين المتغيرات، المعلمة var_name هو اسم المتغير، المعلمة EXPR التعبير المهمة. بيان SET يمكن أن يكون في وقت واحد وافر من المتغيرات، التي تكون مفصولة بفواصل لكل متغير في بيان التكليف.

    يتم تعيين التالية إلى my_sql متغير 30.

    SET my_sql = 30؛

    الخلية يمكن أيضا استخدام العبارة SELECT ... INTO إلى القيم تعيين المتغيرات. بناء الجملة الأساسي هو على النحو التالي:

    COL_NAME SELECT INTO var_name من TABLE_NAME حالة WEHRE

    حيث، الحقل COL_NAME تشير إلى اسم المعلمة من الاستعلام؛ المعلمة var_name هو اسم المتغير، TABLE_NAME يشير الاسم إلى طاولة المعلمة، وسائل لمعلمات الاستعلام الحالة حالة.

    الاستعلام التالي من الموظف سجل جدول معرف 2، والقيم المسجلة المخصصة لمتغير d_id my_sql.

    d_id SELECT INTO my_sql من WEHRE الموظف معرف = 2؛

    الخلية الإجراءات المخزنة ملخص مكتوب

    1، إنشاء إجراء مخزن بدون أي معلمة.

    إنشاء المنتج الداخلي () بدأ حدد * من المستخدمين؛ ينتهي.

    بسيطة المخزنة بيان خلق الإجراء، بيان في هذا الوقت من الدعوة هو:

    الاتصال الداخلي ()؛

    2، هناك إشارة إلى إنشاء إجراء مخزن

    هناك نوعان من المعلمات يشمل المعلمات المخزنة،

    يتم تمرير معلمة.

    واحد هو المعلمة انتشار.

    على سبيل المثال، الإجراء المخزن:

    إنشاء إجراء procedure2 ( العشري P1 خارج (8،2)، العشري P2 خارج (8،2)، في كثافة P3 ) بدأ حدد مبلغ (المرن) P1 من المستخدم حيث ORDER_NAME = P3 إلى. حدد متوسط (رمز المستخدم) في P2 من المستخدم؛ ينتهي.

    كما يمكن أن يرى من مزود أعلاه بيان، P1 و P2 تستخدم لاسترداد وانتشار من القيم، ويتم تمرير P3 في هذه الدعوة يجب أن يكون قيمة محددة.

    دعوة محددة الإجراء:

    المنتج المكالمة ()؛ // لم يشر

    دعوة procedure2 (@ userSum، @ userAvg، 201708)؛ // هناك إشارة

    عندما استنفدت، يمكنك الاستعلام مباشرة قيمة userSum وuserAvg:

    حددuserSum،userAvg.

    وكانت النتائج على النحو التالي:

    3، حذف الإجراء المخزن

    بناء الجملة: انخفاض الإجراء procedure_name.

    سوف Devops وبعد تبادل جوانب DBA المزيد من المحتوى، يمكن للأصدقاء المهتمين ننظر -

    لقطة الدولة! الناس خبى يكون هذا النوع من السكن السرعة نظرة! قد يكون منزلك إلى إغلاقها ...

    الدخان البنك، Alipay، وقناة الصغرى تيم النار، ETC السبب في ذلك هو شرسة جدا؟

    قاعدة بيانات أوراكل لوب كائن كبير ملخص نوع البيانات الميدانية، يستحق جمع

    YOUKU 12 ساعة

    التخزين المؤقت نظام التحسين استعلام قاعدة بيانات ملخص --mysql

    يوم واحد من أصل 20 مخازن والكفاءة بينغ تصل إلى 270،000، مما يجعل لى يونيو هو أيضا "مجنون"

    أحر السلعة! مريض يبلغ من العمر 91 عاما في السرير، 17 أحفاد الرعاية جدولة

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

    أوراكل --delete رصد التقدم كيفية رصد التقدم المحرز في كميات كبيرة من البيانات delele؟

    تم إدراج منغ كونغ على عكس: التبصر رن، كبير هواوي البقاء على قيد الحياة

    مشاركة مجموعة لسنوات عديدة قاعدة بيانات PG العمارة نشر الرسم

    كان البيع على المكشوف ثلاث مرات في السنة، أكثر من عشرة مليارات القيمة السوقية تبخرت لا يزال على قيد الحياة! أنتا الذي ترك العار؟