Oracle أنواع بيانات PL/SQL: منطقية، رقم، تاريخ [مثال]
ما هي أنواع البيانات PL/SQL؟
أنواع البيانات في PL/SQL يتم استخدامها لتحديد كيفية تخزين البيانات ومعالجتها ومعالجتها Oracle أثناء تخزين البيانات ومعالجتها. ترتبط أنواع البيانات بتنسيق التخزين المحدد وقيود النطاق. في Oracle، يتم تعيين كل قيمة أو ثابت بنوع بيانات.
الفرق الرئيسي بين PL/SQL و SQL أنواع البيانات هي أن نوع بيانات SQL يقتصر على عمود الجدول بينما يتم استخدام أنواع بيانات PL/SQL في كتل بل / SQLالمزيد حول هذا لاحقًا في البرنامج التعليمي.
فيما يلي مخطط لمختلف Oracle أنواع بيانات بل/سكل:
نوع بيانات حرف PL/SQL
يقوم نوع البيانات هذا بشكل أساسي بتخزين الأحرف الأبجدية الرقمية بتنسيق سلسلة.
يجب دائمًا تضمين القيم الحرفية بين علامات اقتباس مفردة أثناء تعيينها لنوع بيانات CHARACTER.
يتم تصنيف نوع بيانات الشخصية هذا أيضًا على النحو التالي:
- نوع بيانات CHAR (حجم سلسلة ثابت)
- نوع البيانات VARCHAR2 (حجم سلسلة متغير)
- نوع البيانات VARCHAR
- NCHAR (حجم السلسلة الثابتة الأصلي)
- NVARCHAR2 (حجم السلسلة المتغير الأصلي)
- خام طويل وطويل
نوع البيانات | Descriptأيون | بناء الجملة |
---|---|---|
CHAR | يقوم نوع البيانات هذا بتخزين قيمة السلسلة، ويتم تحديد حجم السلسلة في وقت الإعلان عن القيمة متغير.
|
grade CHAR; manager CHAR (10):= 'guru99'; شرح بناء الجملة:
|
فاركار 2 | يقوم نوع البيانات هذا بتخزين السلسلة، لكن طول السلسلة غير ثابت.
|
manager VARCHAR2(10) := ‘guru99'; شرح بناء الجملة:
|
فاركار | وهذا مرادف لنوع البيانات VARCHAR2.
|
manager VARCHAR(10) := ‘guru99'; شرح بناء الجملة:
|
نشار | نوع البيانات هذا هو نفس نوع بيانات CHAR، لكن مجموعة الأحرف ستكون لمجموعة الأحرف الوطنية.
|
native NCHAR(10); شرح بناء الجملة:
|
نفارتشار2 |
نوع البيانات هذا هو نفس نوع البيانات VARCHAR2، ولكن مجموعة الأحرف ستكون من مجموعة الأحرف الوطنية.
|
Native var NVARCHAR2(10):='guru99'; شرح بناء الجملة:
|
طويلة وطويلة | يُستخدم نوع البيانات هذا لتخزين نص كبير أو بيانات أولية يصل حجمها الأقصى إلى 2 جيجابايت.
|
Large_text LONG; Large_raw LONG RAW; شرح بناء الجملة:
ملحوظة: لا ينصح باستخدام نوع البيانات LONG Oracle. بدلاً من ذلك، يجب تفضيل نوع البيانات LOB. |
نوع بيانات رقم PL/SQL
يخزن هذا النوع من البيانات أرقامًا ثابتة أو أرقامًا عشرية بدقة تصل إلى 38 رقمًا. ويُستخدم هذا النوع من البيانات للعمل مع الحقول التي ستحتوي فقط على بيانات رقمية. ويمكن إعلان المتغير بدقة وتفاصيل الأرقام العشرية أو بدون هذه المعلومات. ولا يلزم وضع القيم بين علامتي اقتباس أثناء التعيين لهذا النوع من البيانات.
A NUMBER(8,2); B NUMBER(8); C NUMBER;
شرح بناء الجملة:
- في الإعلان الأول أعلاه، يعلن المتغير 'A' أنه من نوع البيانات الرقمية بدقة إجمالية 8 وأرقام عشرية 2.
- ويعلن الإعلان الثاني أن المتغير 'B' هو من نوع البيانات الرقمية بدقة إجمالية 8 ولا يحتوي على أرقام عشرية.
- الإعلان الثالث هو الأكثر عمومية، حيث يعلن أن المتغير "C" من نوع بيانات رقمي بدون أي قيود في الدقة أو الأماكن العشرية. ويمكن أن يصل الحد الأقصى لعدد الأرقام إلى 38 رقمًا.
نوع البيانات المنطقية PL/SQL
يقوم نوع البيانات هذا بتخزين القيم المنطقية. Oracle يمثل نوع البيانات المنطقية إما TRUE أو FALSE ويستخدم بشكل أساسي في العبارات الشرطية. لا يلزم تضمين القيم بين علامات الاقتباس أثناء تعيين نوع البيانات هذا.
Var1 BOOLEAN;
شرح بناء الجملة:
- في ما سبق، تم تعريف المتغير 'Var1' كنوع بيانات منطقي. سيكون مخرجات الكود إما صحيحة أو خاطئة بناءً على مجموعة الشروط.
نوع بيانات التاريخ PL/SQL
يقوم نوع البيانات هذا بتخزين القيم بتنسيق التاريخ، مثل التاريخ والشهر والسنة. عندما يتم تعريف متغير بنوع بيانات DATE مع التاريخ، يمكنه الاحتفاظ بمعلومات الوقت ويتم تعيين معلومات الوقت الافتراضية على 12:00:00 إذا لم يتم تحديدها. يجب تضمين القيم بين علامات الاقتباس أثناء تعيين نوع البيانات هذا.
المعيار Oracle تنسيق الوقت للإدخال والإخراج هو "DD-MON-YY" ويتم ضبطه مرة أخرى على NLS_PARAMETERS (NLS_DATE_FORMAT) على مستوى الجلسة.
newyear DATE:='01-JAN-2015'; current_date DATE:=SYSDATE;
شرح بناء الجملة:
- في ما سبق، تم تعريف المتغير "newyear" كنوع بيانات DATE وتم تعيين قيمة 1 ينايرst، تاريخ 2015.
- يعلن الإعلان الثاني عن المتغير current_date كنوع بيانات DATE ويتم تعيين القيمة بالتاريخ الحالي للنظام.
- كلا هذين المتغيرين يحمل معلومات الوقت.
نوع بيانات PL/SQL LOB
يستخدم هذا النوع من البيانات بشكل أساسي لتخزين ومعالجة كتل كبيرة من البيانات غير المنظمة مثل الصور وملفات الوسائط المتعددة وما إلى ذلك. Oracle يفضل LOB بدلاً من نوع البيانات LONG لأنه أكثر مرونة من نوع البيانات LONG. فيما يلي المزايا الرئيسية القليلة لـ LOB مقارنة بنوع البيانات الطويلة.
- يقتصر عدد الأعمدة في الجدول الذي يحتوي على نوع بيانات LONG على 1، بينما لا يحتوي الجدول على قيود على عدد الأعمدة التي تحتوي على نوع بيانات LOB.
- تقبل أداة واجهة البيانات نوع بيانات LOB الخاص بالجدول أثناء النسخ المتماثل للبيانات، ولكنها تتجاهل العمود LONG من الجدول. تحتاج هذه الأعمدة الطويلة إلى النسخ المتماثل يدويًا.
- يبلغ حجم العمود LONG 2 جيجابايت، بينما يمكن لـ LOB تخزين ما يصل إلى 128 تيرابايت.
- Oracle تعمل باستمرار على تحسين نوع البيانات LOB في كل إصدار من إصداراتها وفقًا للمتطلبات الحديثة، في حين أن نوع البيانات LONG ثابت ولا يحصل على العديد من التحديثات.
لذا، فمن الأفضل دائمًا استخدام نوع بيانات LOB بدلاً من نوع بيانات LONG. فيما يلي أنواع بيانات LOB المختلفة. يمكنها تخزين ما يصل إلى حجم 128 تيرابايت.
- BLOB
- كلوب و نكلوب
- ملف
نوع البيانات | Descriptأيون | بناء الجملة |
---|---|---|
BLOB | يخزن هذا النوع من البيانات بيانات LOB بتنسيق ملف ثنائي يصل إلى الحد الأقصى للحجم وهو 128 تيرابايت. ولا يخزن هذا النوع البيانات بناءً على تفاصيل مجموعة الأحرف، وبالتالي يمكنه تخزين البيانات غير المنظمة مثل كائنات الوسائط المتعددة والصور وما إلى ذلك. |
Binary_data BLOB; شرح بناء الجملة:
|
كلوب و نكلوب | يقوم نوع بيانات CLOB بتخزين بيانات LOB في مجموعة الأحرف، بينما يقوم NCLOB بتخزين البيانات في مجموعة الأحرف الأصلية. نظرًا لأن أنواع البيانات هذه تستخدم التخزين المستند إلى مجموعة الأحرف، فلا يمكنها تخزين البيانات مثل الوسائط المتعددة والصور وما إلى ذلك التي لا يمكن وضعها في سلسلة أحرف. الحد الأقصى لحجم أنواع البيانات هذه هو 128 تيرابايت. |
Charac_data CLOB; شرح بناء الجملة:
|
ملف |
|
الملخص
لقد قمنا بتغطية أنواع البيانات البسيطة المختلفة المتوفرة في PL / SQL إلى جانب بناء جملها. سنتعلم المزيد عن أنواع البيانات المعقدة في مواضيع أخرى.