מדריך PL / SQL: כל מה שאתה צריך לדעת על PL / SQL



מדריך PL / SQL מכסה את כל ההסברים המפורטים על כל המושגים הדרושים לצורך שליטה בתכנות PL / SQL עם דוגמאות שונות

PL / SQL היא שפה פרוצדוראלית המתגברת על החסרונות העומדים בפניהם שפת שאילתות מובנית . זוהי הרחבה של SQL ואנחנו יכולים אפילו להשתמש בשאילתות SQL ללא שום טרחה באף יישום או תוכנית PL / SQL. במדריך PL / SQL זה, נעבור את המושגים הבסיסיים של PL / SQL בפירוט. הנושאים הבאים סוקרים במאמר זה.

מה זה PL / SQL?

זה מייצג הרחבת שפה פרוצדוראלית ל שפת שאילתות מובנית . אורקל יצרה PL / SQL המרחיבה כמה מגבלות של SQL כדי לספק פיתרון מקיף יותר לבניית יישומים קריטיים למשימה הפועלים על האורקל. .





מדריך logo-pl / sql - edureka

תכונות

  • PL / SQL מספק פונקציונליות של שפה פרוצדוראלית כגון קבלת החלטות, איטרציה וכו '.

  • באמצעות פקודה אחת, PL / SQL יכול לבצע מספר שאילתות.



  • אנו יכולים גם לעשות שימוש חוזר ביחידות PL / SQL כגון פונקציות, טריגרים, פרוצדורות וכו 'המאוחסנות במסד הנתונים לאחר היצירה.

  • ל- PL / SQL יש גם בלוק לטיפול בחריגים המטפל בחריגים ב- PL / SQL.

  • בדיקת שגיאות מקיפה אפשרית גם באמצעות PL / SQL



  • היישומים הכתובים ב- PL / SQL ניידים לחומרה אחרת ומערכות הפעלה בתנאי שאורקל חייב להיות פעיל.

PL / SQL לעומת SQL

SQL PL / SQL
SQL היא שאילתה אחת המשמשת לביצוע פעולות DDL ו- DMLPL / SQL הוא גוש קודים המשמש להגדרת תוכנית או הליך / פונקציה שלמים וכו '
זה לא ממש מגדיר כיצד הדברים צריכים להיעשות, אלא מגדיר מה צריך לעשותPL / SQL מגדיר כיצד הדברים צריכים להיעשות
זה מבצע הצהרה אחתזה מבצע בלוק הצהרות בבת אחת.
SQL משמש בעיקר למניפולציה של הנתוניםלעומת זאת, PL / SQL משמש ליצירת יישומים
הוא לא יכול להכיל קוד PL / SQLמכיוון שמדובר בתוסף SQL, הוא יכול להכיל בו קוד SQL

חסום מבנים ב- PL / SQL

PL / SQL בדרך כלל מארגן את הקוד לבלוקים. גוש הקוד ללא שם ידוע כחסום אנונימי. זה ידוע כחסום אנונימי מכיוון שהוא לא נשמר במסד הנתונים של האורקל. בואו נסתכל על חסימה אנונימית ב- PL / SQL.

[DECLARE] הצהרות הצהרה [BEGIN] הצהרות ביצוע [EXCEPTION] הצהרות חריגות END /

בהתבוננות בתרשים המוצג לעיל, אנו יכולים לראות כי מבנה הבלוק מחולק לארבעה חלקים, כלומר הצהרה, התחלה, חריג וסוף. בואו ננסה להבין כיצד עובד מבנה הבלוקים ב- PL / SQL. מתוך כל הסעיפים הללו, קטע הביצוע הוא חובה וכל השאר הם אופציונליים.

  • לְהַכרִיז מילת המפתח משמשת לסעיף ההצהרה משמש להצהרת סוגי נתונים ומבנים כגון משתנים, פונקציות וכו '.

  • התחל מילת המפתח משמשת לקטע הביצוע. זה חובה ומכיל את כל ההצהרות שיש לבצע. בלוק זה מוגדר ההגיון העסקי, אנו יכולים להשתמש בהצהרות פרוצדוראליות או ב- SQL בגוש זה.

  • ה יוצא מן הכלל מילת המפתח משמשת לקטע החריג. הוא מכיל את כל הצהרות החריג.

  • סוֹף מילת המפתח מסמנת את סוף החסימה והלוכסן לאחור '/' אומר לכלי שבו אתה משתמש (Oracle Database Tool) כדי לבצע את חסימת PL / SQL.

הנה דוגמה פשוטה להראות כיצד אנו יכולים להשתמש בקוד PL / SQL.

התחל סיום אפס /

כעת, כשאנו יודעים כיצד עובד מבנה הבלוקים ב- PL / SQL, הבה נבין את ההיבטים השונים של PL / SQL כמו הכרזה, שמות והקצאת ערכים למשתנים.

משתני PL / SQL

המשתנה ב- PL / SQL הוא בעצם שם משתנה או מיקום אחסון זמני התומך בסוג נתונים מסוים. הבה נבחן כיצד אנו יכולים להשתמש במשתנים בתוכנית PL / SQL.

כללי שמות משתנים

PL / SQL עוקב אחר הכללים הבאים למתן שמות למשתנים.

  • המשתנה לא יכול להכיל יותר מ -31 תווים

  • שם המשתנה צריך להתחיל בתו ASCII. מכיוון ש- PL / SQL תלוי רישיות, אות גדולה ואות קטנה יהיו משתנים שונים.

  • לאחר התו הראשון, צריך להיות תו מיוחד ($, _) או מספר כלשהו.

מוסכמות שמות

השתמש במוסכמות השמות הבאות המפורטות להלן כדי להשתמש במשתנים.

קידומת סוג מידע
v_VARCHAR2
n_מספר
t_שולחן
r_שׁוּרָה
d_תַאֲרִיך
b_בוליאן

הַצהָרָה

בואו ננסה להבין כיצד מתבצעת הצהרה משתנה ב- PL / SQL

ההצהרה כוללת את שם המשתנה ואחריו את סוג הנתונים ומופרד באמצעות נקודה-פסיק. להלן דוגמה להראות כיצד ניתן להכריז על משתנה ב- PL / SQL.

אתה יכול להפיל כפול לאינטל
הסר v_name VARCHAR (25) n_age NUMBER (3) BEGIN NULL END

ניתן גם להוסיף את אורך סוג הנתונים כפי שעשינו בדוגמה לעיל.

עוגנים

העוגן מתייחס בעצם לשימוש במילת המפתח% TYPE כדי להכריז על משתנה עם סוג הנתונים המשויך לסוג הנתונים של העמודה של עמודה מסוימת בטבלה.

התבונן בדוגמה כדי להבין זאת. נניח שיש לנו שולחן עובדים, נוכל להשתמש בעוגנים בצורה הבאה.

דחה v_name EMPLOYEE.NAME% TYPE n_age EMPLOYEE.AGE% TYPE התחל NULL END /

מְשִׁימָה

הקצאה משתנה היא די קלה, אנו יכולים להשתמש במפעיל ההקצאה כדי להקצות ערכים למשתנה. הדוגמה הבאה מראה כיצד אנו יכולים להקצות ערכים למשתנה.

הסר v_name VARCHAR (20) n_course VARCHAR (10) BEGIN v_name = 'edureka' v_course = 'sql' END /

אִתחוּל

אנו יכולים לאתחל ערך עבור המשתנה גם בסעיף ההצהרה. הדוגמה הבאה מראה כיצד אנו יכולים לאתחל ערכים למשתנה.

DECLARE v_name VARCHAR (20) = 'edureka' n_course VARCHAR (10) = 'sql' BEGIN NULL END /

כעת, כשאנו יודעים כיצד אנו יכולים לעבוד עם המשתנים, ננסה להבין כיצד נשתמש בפונקציות ב- PL / SQL.

פונקציה ב- PL / SQL

פונקציה ב- PL / SQL היא בעצם בלוק בשם המחזיר ערך. זה ידוע גם בשם תת-תוכנית או תת-תוכנית, התחביר הבא מראה כיצד אנו יכולים להשתמש בפונקציות ב- PL / SQL.

צור [או החלף] FUNCTION function_name [(parameter_1 [IN] [OUT] data_type, parameter_2 [IN] [OUT] data_type, parameter_N [IN] [OUT] data_type] RETURN return_data_type IS BEGIN statements return return_data_type EXCEPTION END /

קודם כל, עליך לציין שם פונקציה אחרי מילת המפתח. שם הפונקציה צריך להתחיל עם פועל. לפונקציה לא יכול להיות אף אחד, אחד או יותר מפרמטרים שאנו מציינים בפרמטרים. עלינו לציין את סוג הנתונים של כל פרמטר באופן מפורש ואז מגיע המצב שיכול להיות אחד מהבאים.

  • IN - הפרמטר IN הוא פרמטר לקריאה בלבד.

  • החוצה - זהו פרמטר לכתוב בלבד

  • בפנים בחוץ - הפרמטר IN OUT הוא שניהם פרמטר קריאה-כתיבה.

הנה דוגמה פשוטה להראות כיצד אנו משתמשים בפונקציות ב- PL / SQL.

צור או החלף פונקציה try_parse (iv_number IN VARCHAR2) מספר החזרה הוא התחל חזרה ל-_number (iv_number) למעט כאשר אחרים ואז מחזירים סיום אפס

קורא פונקציה

בואו ננסה לקרוא לפונקציה שביצענו בבלוק אנונימי בדוגמה הבאה.

הגדר SERVEROUTPUT לפי גודל 1000000 הסבר n_x מספר n_y מספר n_z מספר BEGIN n_x: = try_parse ('256') n_y: = try_parse ('29 .72 ') n_z: = try_parse (' pqrs ') DBMS_OUTPUT.PUT_LINE (n_xUT) DBMS_UT n_y) DBMS_OUTPUT.PUT_LINE (n_z) END /

אנו יכולים להתקשר לפונקציה גם בהצהרת SELECT. כעת, כשאנו יודעים כיצד אנו יכולים להשתמש בפונקציות ב- PL / SQL, ננסה להבין כיצד אנו עובדים עם פרוצדורות ב- PL / SQL.

נוהל PL / SQL

הליך הוא בעצם בלוק שעושה משימה ספציפית. באמצעות פרוצדורה אנו יכולים לעטוף או למעט את ההיגיון העסקי המורכב ולהשתמש בהם מחדש הן בשכבת היישום והן בשכבת מסד הנתונים.

בואו נסתכל על דוגמה פשוטה כדי להבין כיצד ההליך עובד ב- PL / SQL

הליך יצירה או החלפה התאמת_שכר (in_ Employee_id IN EMPLOYEES. EMPLOYEE_ID% TYPE, in_procent IN NUMBER) IS BEGIN - עדכן את שכר העובד עדכן את העובדים הגדר משכורת = משכורת + משכורת * באחוזים / 100 כאשר עובד_יד = בעובד_סיים

בדוגמה שלעיל יש לנו שני פרמטרים, ההליך מתאים את השכר באחוז נתון ומילת המפתח UPDATE מעדכנת את הערך במידע השכר.

כותרת נוהל

החלק לפני מילת המפתח IS נקרא כותרת ההליך. להלן מספר עצות שחייבים להכיר תוך כדי עבודה עם נהלים.

  • סכמה - זהו השם האופציונלי של הסכימה שהנוהל שייך לה.

  • שם - שם ההליך שצריך להתחיל עם פועל.

  • פרמטרים - זוהי רשימת הפרמטרים האופציונלית.

  • מורשה - הוא קובע אם ההליך יבוצע עם הרשאת המשתמש הנוכחי או הבעלים המקורי של ההליך.

גוף נוהל

כל מה שמגיע אחרי מילת המפתח IS נקרא גוף ההליך. יש לנו הצהרות, חריגות והצהרות ביצוע בגוף ההליך. בשונה מהפונקציה, מילת המפתח RETURN בהליך משמשת לעצירת הביצוע והחזרת השליטה למתקשר.

קריאה להליך

בואו נראה כיצד נוכל לקרוא להליך ב- PL / SQL.

הליך EXEC_name (param1, param2 & hellipparamN)

אנו יכולים להתקשר לפרוצדורות ללא פרמטרים רק באמצעות מילת המפתח EXEC ושם הפרוצדורה. כעת, כשאנו יודעים כיצד אנו יכולים לעבוד עם נהלים, בואו ננסה להבין כיצד משתמשים בבלוקים מקוננים ב- PL / SQL.

בלוק מקונן

חסימה מקוננת אינה אלא שילוב של חסימת PL / SQL אחת או יותר בכדי לקבל שליטה טובה יותר על הביצוע וטיפול יוצא דופן בתוכנית.

הנה דוגמה פשוטה לחסימה מקוננת.

הגדר SERVEROUTPUT לפי גודל 1000000 DECLARE n_emp_id EMPLOYEES.EMPLOYEE_ID% TYPE: = & emp_id1 BEGIN DECLARE n_emp_id עובדים. עובד_יד% TYPE: = & emp_id2 v_name עובדים. שם ראשון% TYPE BEGIN SELECT_name שם_ שם_ שם של העובד '|| n_emp_id ||' הוא '|| v_name) חריג כאשר לא_נתונים_מצאו אז DBMS_OUTPUT.PUT_LINE (' עובד '|| n_emp_id ||' לא נמצא ') END END /

גוש ה- PL / SQL החיצוני בדוגמה שלעיל מכונה גוש האב או גוש הסוגר, הגוש הפנימי, לעומת זאת, מכונה גוש הילדים או הבלוק הסגור.

זה לא רעיון נהדר להשתמש במשתנים עם אותם שמות בשני הבלוקים מכיוון שבמהלך הביצוע משתנה חסום הצאצא יעקוף את משתנה בלוק האם. זה קורה מכיוון ש PL / SQL נותן עדיפות ראשונה למשתנה בתוך הבלוק שלו.

חסום תווית

אנו יכולים להתגבר על בעיה זו באמצעות תווית החסימה המסייעת לנו להפנות למשתנים בתוך בלוקים באמצעות תווית.

הנה דוגמה פשוטה להראות כיצד נוכל להשתמש בתווית בלוק.

 <>להכריז ... להתחיל ... לסיים

שימוש בתווית בלוק עוזר לשפר את קריאות הקוד, להשיג שליטה טובה יותר ולהפנות לבלוקים. עכשיו, כשאנחנו יודעים איך אנחנו יכולים לעבוד עם בלוקים מקוננים, בואו ננסה להבין איך IF STATEMENT עובד ב- PL / SQL.

הצהרת IF

ל- PL / SQL שלוש הצהרות IF

  • אם-אז - זהו הצהרת IF הפשוטה ביותר אם התנאי נכון ההצהרות יבוצעו, אם התנאי כוזב, הוא אינו עושה דבר.

  • IF-THEN-ELSE - בכך נוסף סעיף ELSE עבור רצף הצהרות חלופי.

  • IF-THEN-ELSEIF - זה מאפשר לנו לבצע תנאי בדיקה מרובים ברצף.

תחביר אם-אז

אם תנאי ואז רצף_הצהרות_סיים אם

תחביר IF-THEN-ELSE

תנאי IF ואז רצף_של_אם_הצהרות

תחביר IF-THEN-ELSEIF

תנאי IF1 אז רצף_הצהרות 1 תנאי ELSIF2 ואז רצף_סטטמנטים2 ELSE רצף_הצהרות 3 END IF

כעת, לאחר שסיימנו את הצהרת IF, הבה נבחן את משפט CASE ב- PL / SQL.

הצהרת מקרה

הצהרת CASE מסייעת בעצם בביצוע רצף של הצהרות על בסיס בורר. בורר, במקרה זה, יכול להיות כל דבר, זה יכול להיות משתנה, פונקציה או ביטוי פשוט. הנה דוגמה פשוטה להצגת התחביר של משפט CASE ב- PL / SQL.

[<>] מקרה [נכון | בורר] מתי ביטוי 1 אז רצף_הצהרות 1 מתי ביטוי 2 אז רצף_הגדרות 2 ... מתי ביטוי ן אז רצף_הצהרות N [רצף ELSE_ של_סטטמנטים N + 1] מקרה סיום [שם_תווית]

בתחביר שלעיל, אחרי מילת המפתח CASE מגיע הבורר. PL / SQL יעריך את הבורר פעם אחת בלבד כדי לקבוע איזו הצהרה צריכה להיעשות.

אחריה בורר מילת המפתח WHEN. אם הביטוי מספק את הבורר, ההצהרה המתאימה לאחר מילת המפתח ואז מבוצעת.

כעת, כשאנו יודעים כיצד אנו יכולים להשתמש בהצהרת CASE, בואו ננסה להבין כיצד נשתמש בהצהרות הלולאה ב- PL / SQL.

הצהרת לולאה

משפט לולאה ב- PL / SQL הוא משפט איטרטיבי המאפשר לך לבצע רצף של הצהרות מספר פעמים. הנה דוגמה פשוטה להצגת התחביר של הצהרת לולאה ב- PL / SQL.

LOOP רצף_של_הצהרות END LOOP

חייבת להיות לפחות משפט הפעלה אחד בין מילת המפתח LOOP ו- END LOOP.

לולאה עם הצהרת EXIT

ה- EXIT ו- EXIT כאשר הצהרות מאפשרות לך לצאת מהלולאה. הצהרת EXIT WHEN מסיימת את הלולאה בתנאי ואילו EXIT מסיימת את הביצוע ללא תנאי.

לולאה ... צא כאשר תנאי לולאה

תווית לולאה

תווית לולאה משמשת לאישור שמו של משתנה מונה הלולאה כאשר משתמשים בלולאה מקוננת. להלן התחביר של תווית לולאה.

 <>LOOP רצף_של_הצהרות END LOOP label

כעת, כשאנו יודעים כיצד אנו יכולים להשתמש בהצהרות הלולאה, הבה נסתכל על הצהרות לולאה להבנה טובה יותר.

בעוד הצהרת לולאה

אנו יכולים להשתמש בהצהרת הלולאה WHILE כאשר מספר ההוצאות להורג לא מוגדר עד תחילת הביצוע. התחביר הבא משמש להצהרת לולאה WHILE ב- PL / SQL.

WHILE תנאי LOOP רצף_הגדרות_ END LOOP

התנאי בתחביר הוא ערך או ביטוי בוליאני המוערך כ- TRUE, FALSE או NULL. אם התנאי הוא TRUE, ההצהרות יבוצעו, אם הוא FALSE, הביצוע נעצר והשליטה עוברת להצהרת ההפעלה הבאה.

כעת, כשאנו יודעים כיצד אנו יכולים להשתמש בהצהרת לולאה בעוד, בואו נסתכל על הצהרת הלולאה של FOR.

להצהרת לולאה

משפט לולאה ב- PL / SQL מאפשר לנו לבצע רצף של משפטים למספר פעמים מוגדר. להלן התחביר לשימוש בהצהרת לולאה ב- PL / SQL

לולאת-מונה ב [REVERSE] נמוך יותר .. יותר_ LOOP רצף_ של_סטטוסים END LOOP

PL / SQL יוצר משתנה מקומי loop_counter באופן אוטומטי עם סוג נתונים INTEGER עבור הלולאה, כך שלא תצטרך להכריז על כך במפורש. התחום התחתון..הגובה הגבוה יותר הוא הטווח שעליו מתבצעת הלולאה. כמו כן, עליך להיות בעל הצהרת הפעלה אחת לפחות בין מילות מפתח LOOP ו- END LOOP.

כעת, כשאנו יודעים כיצד אנו יכולים להשתמש בהצהרות הלולאה ב- PL / SQL, הבה נבחן טיפול יוצא דופן ב- PL / SQL.

טיפול יוצא דופן

ב- PL / SQL מתייחסים לכל סוג של שגיאה כחריג. ניתן להתייחס לחריג כאל תנאי מיוחד שיכול לשנות או לשנות את זרימת הביצוע. ב- PL / SQL ישנם שני סוגים של חריגים.

  • חריגה ממערכת - היא מוגדלת על ידי זמן הריצה של PL / SQL כאשר היא מגלה שגיאה.

  • חריג המוגדר על ידי מתכנת - חריגים אלה מוגדרים על ידי המתכנת ביישום ספציפי.

הגדרת חריג

יש להכריז על חריג ב- PL / SQL לפני שניתן יהיה להעלות אותו. אנו יכולים להגדיר את החריג באמצעות מילת המפתח EXCEPTION כמו שעשינו בדוגמה שלהלן.

EXCEPTION_NAME

כדי להעלות חריג, אנו משתמשים במילת המפתח RAISE.

העלה EXCEPTION_NAME

אז זה היה הכל על PL / SQL, אני מקווה שמאמר זה עזר לך להוסיף ערך לידע שלך. למידע נוסף על SQL או על בסיסי נתונים, תוכלו לעיין ברשימת הקריאה המקיפה שלנו כאן: .

אם ברצונך לקבל הכשרה מובנית ב- MySQL, בדוק את האתר שלנו שמגיע עם הדרכה חיה בהנחיית מדריך וניסיון פרויקט אמיתי. הכשרה זו תעזור לך להבין את MySQL לעומק ותעזור לך להשיג שליטה בנושא.

יש לך שאלה עבורנו? אנא הזכיר זאת בסעיף ההערות של ” מדריך PL / SQL ”ואחזור אליך.