![]() |
|
ماي اسكيوال تدمج جافا - نسخة قابلة للطباعة +- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum) +-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3) +--- قسم : دلفي للعرب - القسم العام (https://delphi4arab.net/forum/forumdisplay.php?fid=10) +--- الموضوع : ماي اسكيوال تدمج جافا (/showthread.php?tid=12844) |
ماي اسكيوال تدمج جافا - Delphi4Us - 22-12-2024 السلام عليكم ورحمة الله صار بالامكان الان ان تستخدم كود جافا في محرك قواعد بيانات ماي اسكيوال كود : mysql> CREATE FUNCTION add_nos(arg1 INT, arg2 INT)
-> RETURNS INT LANGUAGE JAVASCRIPT AS
-> $$
$> return arg1 + arg2
$> $$
-> ;
Query OK, 0 rows affected (0.01 sec)
mysql> SELECT add_nos(12,52);
+----------------+
| add_nos(12,52) |
+----------------+
| 64 |
+----------------+
1 row in set (0.00 sec)يمكن مراجعة الرابط لمزيد من المعلومات MySQL Enterprise Stored Programs JavaScript Stored Programs RE: ماي اسكيوال تدمج جافا - الفجر الابيض - 27-01-2026 تنفع في الامور المعقدة التي لا يمكن فعلها احيانا بالاستعلام العادي مثال عملي — استخراج بريد إلكتروني من نص: كود : CREATE FUNCTION extract_email(text TEXT)
RETURNS TEXT LANGUAGE JAVASCRIPT AS $$
const match = text.match(/[\w.-]+@[\w.-]+\.\w+/);
return match ? match[0] : null;
$$;وهنا يصبح نقل البيانات كبير ولكن ان تفلترها على السيرفر سوف تختصر كمية كبيرة من البيانات ملاحظات مهمة
يمكن استدعاء دوال JavaScript في أي مكان يُسمح فيه بالدوال: WHERE, HAVING, ORDER BY, JOIN, وحتى داخل Triggers و Events. هذا يعني أنك تستطيع مثلاً كتابة Trigger فيه منطق JavaScript لمعالجة البيانات قبل إدخالها. رغم أن MySQL تدعم JSON، إلا أن التعامل مع المصفوفات المعقدة والعمليات مثل map, filter, و reduce كان كابوساً في SQL. سابقاً: كنت تحتاج لاستعلامات JSON_EXTRACT طويلة ومعقدة. الآن: يمكنك تمرير حقل JSON لدالة JavaScript ومعالجته ككائن (Object) طبيعي وإعادة النتيجة. استخدام مكتبات JavaScript الخارجية (NPM) هذه هي القوة الضاربة؛ محرك GraalVM يسمح (نظرياً وفي بيئات محددة) باستيراد وحدات قد لا تتوفر في SQL: التحقق من الصيغ: مثل التأكد من صحة رقم بطاقة ائتمان أو رقم هاتف دولي باستخدام مكتبات جاهزة. التنسيق: تحويل التاريخ من صيغ غريبة أو تنسيق النصوص (Markdown to HTML) مباشرة عند الاستعلام. العمليات الحسابية المتسلسلة (Stateful Logic) لغة SQL تعتمد على "المجموعات" (Sets)، لكن الجافا سكريبت تتفوق في "الخوارزميات" (Algorithms). مثال: إذا كنت تريد حساب "المسار الأقصر" بين نقطتين أو تنفيذ خوارزمية هندسية معقدة، كتابتها بلغة JavaScript أسهل بـ 100 مرة من محاولة محاكاتها بـ SQL Stored Procedures العقيمة. متى تستخدمها فعلياً؟ تخيل أنك تبني نظام تجارة إلكترونية، وتريد حساب "الخصم الديناميكي" بناءً على سلة المشتريات: بدل أن تجلب كل البيانات لتطبيقك (Backend) ثم تحسب الخصم، يمكنك القيام بذلك داخل قاعدة البيانات باستخدام دالة JS بسيطة، والنتيجة تعود للمستخدم فوراً في جملة SELECT. |