PL/SQL (Procedural Language/Structured Query Language) היא שפת תכנות פרוצדורלית של חברת אורקל. "פרוצדורלית" פירושו שניתן לקבוע סדר של פעולות ותנאים, ולא רק לתאר מה רוצים לקבל. השפה משולבת באופן טבעי עם SQL (שפת שאילתות) ומאפשרת עיבוד נתונים על שרת מסד-הנתונים בלי לשלוח את כל המידע ללקוח.
מכיוון ש-SQL היא שפה דקלרטיבית (שפה שמתארת תוצאה), קשה לבצע בה לוגיקה כמו לולאות. לכן הוסיפה אורקל ב-1989 (גרסה 6) את PL/SQL. השפה תומכת במשתנים, תנאים, מערכים (Collections) וניהול שגיאות. החל מגרסה 9 נוסף אפשרות להריץ קוד דינמי בזמן ריצה בעזרת הפקודה "Execute immediate", מה שאיפשר גם ביצוע פקודות DDL בלי אריזה מיוחדת.
PL/SQL משמשת לכתיבת פרוצדורות ופונקציות, מארזים (Packages) שמקבצים קוד ומשתנים, וטריגרים (Triggers), קטעי קוד שרצים אוטומטית בעקבות אירועים בבסיס הנתונים כגון עדכונים, כניסה או יציאה. יש גם בלוקים אנונימיים, קטעי קוד שרצים מיד ולא נשמרים. בנוסף, השפה משולבת בכלי פיתוח של Oracle לצורך קוד מבוסס אירועים.
מבחינת מבנה, PL/SQL דומה לשפת עדה (Ada). בלוק טיפוסי מתחיל בהגדרות (DECLARE) או בשורת הגדרה של פרוצדורה, ממשיך במילים BEGIN ואז בביצוע הפקודות, ומסתיים ב-END;. כל פקודה מסתיימת בסימן ";". לשם טיפול בשגיאות יש בלוק EXCEPTION שבו מגדירים איך להגיב על חריגות.
דוגמה פשוטה מראה בלוק אנונימי שמגדיר משתנה, שולף לתוכו מחרוזת (כמו "Hello world") ואז מדפיס אותה. יש שם גם טיפול בסיסי בשגיאות.
לשפה יש סוגים רבים של משתנים. מעבר לסוגי היסוד ניתן להגדיר גם מערכים (הנקראים Collections) לאחסון רשימות.
PL/SQL כוללת מבני בקרה סטנדרטיים: IF, ELSIF ו-CASE WHEN. לדוגמה ניתן לבדוק אם שדה חדש הוא NULL (ריק) ולהקצות ערך במידה וכן.
השפה תומכת בלולאות שונות: LOOP, FOR LOOP, WHILE LOOP ו-CURSOR FOR LOOP, שמתאימות לכל מקרה של חזרה על רשומות או פעולות.
PL/SQL היא שפת תכנות של חברת אורקל. אורקל עושה מסדי נתונים.PL/SQL מאפשרת להריץ קוד ישירות במסד הנתונים.
השפה נוצרה ב-1989. היא נותנת דרך לכתוב סדר פעולות, תנאים ולולאות. יש גם דרך לטפל בשגיאות, כלומר לגלות כשמשהו לא עובד ולספר מה קרה.
PL/SQL כותבים כדי ליצור פרוצדורות (קבוצות פקודות), פונקציות, מארזים (Packages) שמקבצים קוד, וטריגרים. טריגר (Trigger) הוא קטע קוד שרץ לבד אחרי פעולה במסד הנתונים. יש גם בלוקים אנונימיים. אלה הם קטעי קוד שרצים מיד ולא נשמרים.
קוד PL/SQL מתחיל לעיתים ב-DECLARE. אחר כך באים משתנים. החלק הראשי מתחיל ב-BEGIN. בסוף כותבים END;. כל פקודה מסתיימת בסימן ;. לשגיאות יש בלוק שנקרא EXCEPTION.
דוגמה פשוטה מדפיסה "Hello world" מהמסד. התוכנית מראה משתנה, שליפה עם SQL והדפסה.
יש הרבה סוגי משתנים. אפשר גם להכין מערכים, רשימות של ערכים.
יש פקודות IF, ELSIF ו-CASE WHEN לבדיקה של תנאים.
אפשר להשתמש בלולאות: LOOP, FOR, WHILE ו-CURSOR FOR LOOP.
תגובות גולשים