-
إنشاء الإجراء
قم بإنشاء إجراء مخزن يقوم بتخزين جدول في قاعدة بيانات MySQL.
إنشاء وظيفة
إنشاء وظيفة معرفة من قبل المستخدم، وخاصة الإجراء المخزن الذي يقوم بإرجاع البيانات.
تغيير الإجراء
لا تؤثر التغييرات التي يتم إجراؤها على إجراء مخزن محدد مسبقًا تم إنشاؤه باستخدام CREATE PROCEDURE على الإجراءات المخزنة ذات الصلة أو الوظائف المخزنة. .
وظيفة التغيير
لا تؤثر التغييرات التي يتم إجراؤها على إجراء مخزن محدد مسبقًا تم إنشاؤه باستخدام CREATE FUNCTION على الإجراءات المخزنة ذات الصلة أو الوظائف المخزنة. .
إجراء الإسقاط
احذف واحدًا أو أكثر من الإجراءات المخزنة من جدول MySQL.
وظيفة الإسقاط
احذف واحدة أو أكثر من الوظائف المخزنة من جدول MySQL.
إظهار إجراء الإنشاء
إرجاع نص الإجراء المخزن المحدد مسبقًا والذي تم إنشاؤه باستخدام CREATE PROCEDURE. هذا الإعلان هو امتداد MySQL لمواصفات SQL:2003.
إظهار وظيفة الإنشاء
إرجاع نص الإجراء المخزن المحدد مسبقًا والذي تم إنشاؤه باستخدام CREATE FUNCTION. هذا الإعلان هو امتداد MySQL لمواصفات SQL:2003.
عرض حالة الإجراء
إرجاع خصائص الإجراء المخزن المحدد مسبقًا، بما في ذلك الاسم والنوع والمنشئ وتاريخ الإنشاء وتاريخ التعديل. هذا الإعلان هو امتداد MySQL لمواصفات SQL:2003.
عرض حالة الوظيفة
إرجاع خصائص وظيفة مخزنة محددة مسبقًا، بما في ذلك الاسم والنوع والمنشئ وتاريخ الإنشاء وتاريخ التغيير. هذا الإعلان هو امتداد MySQL لمواصفات SQL:2003.
يتصل
استدعاء إجراء مخزن محدد مسبقًا تم إنشاؤه باستخدام CREATE PROCEDURE.
ابدأ...انتهى
يحتوي على مجموعة من العبارات المتعددة المنفذة.
يعلن
يستخدم لتحديد المتغيرات المحلية والبيئات والمعالجات والمؤشرات.
تعيين
يستخدم لتغيير قيم متغيرات الخادم المحلية والعالمية.
اختر ... في
العمود المستخدم لتخزين متغيرات العرض.
يفتح
يستخدم لفتح المؤشر
أحضر
استخدم مؤشرًا محددًا للحصول على العمود التالي.
يغلق
يستخدم لإغلاق وفتح المؤشر.
لو
عبارة if-then-else-end if.
الحالة...متى
هيكل بيان الحالة
حلقة
بنية حلقة بسيطة يمكن الخروج منها باستخدام عبارة LEAVE.
يترك
يُستخدم للخروج من عبارات IF وCASE وLOOP وREPEAT وWHILE.
أعاد
تستخدم لإعادة تشغيل الدورة.
يكرر
يتم اختبار الحلقة في النهاية.
بينما
حلقة تم اختبارها في البداية.
عوائد
إرجاع قيمة الإجراء المخزن.
يدعم MySQL 5.0 بيانات الإجراءات المخزنة.
1. قم بإنشاء إجراء مخزن
1. القواعد الأساسية:
إنشاء الإجراء sp_name ()
يبدأ
.........
نهاية
2. تمرير المعلمة
2. استدعاء الإجراء المخزن
1. بناء الجملة الأساسي: استدعاء sp_name()
ملاحظة: يجب إضافة الأقواس بعد اسم الإجراء المخزن، حتى لو لم يتم تمرير أي معلمات للإجراء المخزن
3. حذف الإجراءات المخزنة
1. القواعد الأساسية:
إجراء الإفلات sp_name//
2. الاحتياطات
(1) لا يمكنك حذف إجراء مخزن آخر في إجراء مخزن واحد، يمكنك فقط استدعاء إجراء مخزن آخر
4. الكتل والشروط والحلقات
1. تعريف الكتلة، شائع الاستخدام
يبدأ
...
نهاية؛
يمكنك أيضًا إعطاء الكتلة اسمًا مستعارًا، مثل:
التسمية: تبدأ
............
تسمية النهاية؛
يمكنك استخدام علامة المغادرة للقفز خارج الكتلة وتنفيذ التعليمات البرمجية بعد الكتلة.
2. بيان الشرط
إذا كان الشرط ثم
إفادة
آخر
إفادة
نهاية إذا؛
3. بيان الحلقة
(1).بينما الحلقة
[التسمية:] بينما يفعل التعبير
البيانات
نهاية بينما [التسمية]؛
(2). حلقة حلقة
[التسمية:] حلقة
البيانات
نهاية الحلقة [التسمية]؛
(3). كرر حتى الحلقة
[التسمية:] كرر
البيانات
حتى التعبير
نهاية التكرار [التسمية]؛
5. الأوامر الأخرى شائعة الاستخدام
1.إظهار حالة الإجراء
يعرض المعلومات الأساسية لجميع الإجراءات المخزنة في قاعدة البيانات، بما في ذلك قاعدة البيانات التي تنتمي إليها، واسم الإجراء المخزن، ووقت الإنشاء، وما إلى ذلك.
2.show إنشاء الإجراء sp_name
بناء جملة إنشاء الإجراء المخزن:
إنشاء الإجراء اسم الإجراء ([المعلمة[،...])
[لغة SQL]
[ [ليس] حتمية]
[{يحتوي على SQL|تعديل بيانات SQL|قراءة بيانات SQL|لا يوجد SQL}]
[أمان SQL {المحدد | INVOKER}]
[تعليق تعليق_سلسلة]
الإجراء_بيانات
يمكنك استخدام SHOW PROCEDURE STATUS أو SHOW CREATE PROCEDURE لعرض معلومات الإجراء المخزن، بالإضافة إلى ذلك، يحتوي جدول النظام INFORMATION_SCHEMA.ROUTINES أيضًا على بعض المعلومات حول الإجراءات المخزنة، وبالمثل، يمكن أيضًا عرض الوظائف بنفس الطريقة (SHOW FUNCTION STATUS).
إنشاء الوظائف
إنشاء وظيفة function_name (المعلمة[،...])
إرجاع نوع البيانات
[لغة SQL]
[ [ليس] حتمية]
[{يحتوي على SQL |. لا يوجد SQL | يعدل بيانات SQL |.
[أمان SQL {المحدد | INVOKER}]
[تعليق تعليق_سلسلة]
هيئة البيان
الوظائف هي في الأساس نفس الإجراءات المخزنة والاختلافات الرئيسية هي:
1. لاستخدام RETURNS لتحديد نوع الإرجاع
2. يجب أن تقوم الدالة بإرجاع قيمة واستخدام RETURN في نص البيان (ملاحظة: استخدم RETURNS لتحديد نوع الإرجاع وRETURN للقيمة المرجعة)
3. لا تفرق المعلمات بين IN و OUT، فكلها من النوع IN.
مثال:
إنشاء وظيفة cust_status(in_status CHAR(1))
إرجاع فارتشار(20)
ابدأ بالإعلان عن long_status VARCHAR(20);
إذا كان in_status = "O" ثم قم بتعيين long_status = "Overdue"؛
ELSEIF in_status = "U" ثم قم بتعيين long_status = "محدث"؛
ELSEIF in_status = "N" ثم قم بتعيين long_status = "جديد"؛
نهاية إذا؛
عودة (long_status)؛
نهاية؛
يتصل:
SELECT cust_status('O');
مشغل
إنشاء [DEFINER={user|CURRENT_USER}] TRIGGER Trigger_name
{قبل|بعد} {تحديث|إدراج|حذف}
على اسم الجدول
لكل صف
زناد_بيانات
المعنى: يتم تشغيل عملية تشغيل البيان قبل (قبل) أو بعد (بعد) إجراء عمليات التحديث والإدراج والحذف على الجدول table_name.
مثال:
mysql> إنشاء حساب TRIGGER_balance_au
بعد التحديث على account_balance لكل صف
يبدأ
أعلن INT وهمية؛
إذا كان جديدا.التوازن <0 ثم
SET NEW.balance=NULL;
نهاية إذا؛
نهاية
المشغل أعلاه يعني: بعد تحديث جدول account_balance، إذا كان رصيد القيمة المحدث أقل من 0، فقم بتغييره إلى NULL.
ملاحظة: إذا كان OLD.balance، فهذا يعني القيمة الأصلية قبل التحديث