منسّق PL/SQL
نسّق SQL Oracle وPL/SQL وفق قواعد Oracle لأسلوب الاقتباس البديل q'[...]'، وسلاسل N''، والمعرّفات المحاطة بعلامتي اقتباس مزدوجتين، ومتغيرات :bind، والشرطة المائلة التي تشغّل كتلة في SQL*Plus. تُحافظ الأداة على CONNECT BY وSTART WITH وRETURNING وMINUS كبنود، وتُرتّب كتل BEGIN وEND مع IF وLOOP بمسافات بادئة. وتُعرض السلاسل والأقواس غير المغلقة مع تحديد السطر والعمود لمطوري Oracle.
الأسئلة الشائعة
ما صياغة Oracle التي يتعرّف عليها؟
يُتعرّف على السلاسل المحاطة بعلامة اقتباس مفردة مع مضاعفة علامات الاقتباس، وأساليب الاقتباس البديلة مثل q'[it's]' أو q'{...}'، والسلاسل الوطنية N''. وتُحافظ الأداة على المعرّفات المحاطة بعلامتي اقتباس مزدوجتين، والأسماء التي تحتوي على # و$ مثل emp#، ومتغيرات :bind، وإسنادات := كما هي.
هل يمكنه تنسيق كتل PL/SQL؟
نعم. تُرتّب أقسام BEGIN وEND، وتراكيب IF THEN ELSE END IF وCASE وLOOP بمسافات بادئة، مع وضع كل عبارة في سطر مستقل. وتبقى التصريحات السابقة لـ BEGIN عبارات مستقلة.
ماذا يحدث لسطر الشرطة المائلة؟
يبقى السطر الذي لا يحتوي إلا على /، والذي يشغّل الكتلة السابقة في SQL*Plus وSQLcl، في سطر مستقل. وهو يفصل بين الكتل التي تسبقه وتليه.
ما بنود Oracle التي توضع في أسطر مستقلة؟
تحتفظ الاستعلامات الهرمية بـ CONNECT BY وSTART WITH كبنود. وتُعالج RETURNING ومعامل المجموعة MINUS مثل البنود القياسية SELECT وFROM وWHERE وGROUP BY وORDER BY.
هل يدعم MERGE؟
نعم. تبدأ فرعا WHEN MATCHED THEN وWHEN NOT MATCHED THEN أسطرًا جديدة، مما يحافظ على سهولة قراءة عبارات MERGE في Oracle.
هل تُحفظ التعليقات؟
نعم. تبقى التعليقات السطرية -- وتعليقات الكتل /* block comments */ في مواضعها. وتظل تلميحات المحسّن مثل /*+ INDEX(e) */ كما كُتبت تمامًا.
هل تغيّر حالة أحرف الكلمات المفتاحية؟
لا. تحتفظ الكلمات المفتاحية والمعرّفات بحالة الأحرف التي كتبتها بها. أسماء Oracle غير المحاطة بعلامات اقتباس لا تميّز حالة الأحرف، أما المحاطة بها فتُميّزها، وتبقى كلتاهما كما هما.
ما الأخطاء التي يجري اكتشافها؟
السلاسل غير المغلقة، والاقتباسات البديلة، والمعرّفات المحاطة بعلامات اقتباس، وتعليقات الكتل، والأقواس غير المتوازنة، مع تحديد السطر والعمود لكل منها. لا تُصرّف الحزم ولا تتحقق من القواعد النحوية.
ما الحد الأقصى لحجم الإدخال؟
حتى 1 MB لكل طلب و128 KB لكل عبارة أو كتلة. يمكن تنسيق الحزم الأكبر على أجزاء.
هل يمكنني اختيار المسافة البادئة، وهل يُحفظ الكود؟
استخدم مسافتين أو 4 مسافات أو علامات تبويب. يُنسّق الكود في الذاكرة فقط ولا يُحفظ مطلقًا.