מהו Forward Declaration ומתי נשתמש בו

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

Autonomous Transactions ותיעוד פעולות

טרנזקציות אוטונומית הן יחידות טרנזקציה עצמאיות אשר פועלות ללא תלות בטרנזקציה הראשית ממנה הן מורצות. שימוש בטרנזקציות אלו נפוץ במקרים בהם נרצה לתעד באמצעות תת טרנזאקציה פעולות DML המתרחשות בטרנסאקציה הראשית, כאשר בין שתי היחידות (האב והבן) אין יחסי תלות. נשמע מסובך ? 🙂...

Definer and Invoker Rights

כל תוכנית PLSQL רצה תחת סט השראות מסויים. באופן דיפולטיבי, רצה התוכנית תחת ההרשאות של היוזר אשר הגדיר אותה (Definer) ולחילופין, החל מגרסת 8i, תוכל לרוץ תחת ההרשאות של היוזר אשר מריץ אותה (Invoker). לדוגמא – יוזר sales_1 מייצר פרוצדורה אשר נועדה לעדכן את טבלת...

ORA_ROWSCN

ORA_ROWSCN היא עמודה ווירטואלית (Pseudocolumn) אשר מייצגת את נקודת הזמן האחרונה בה נעשה שינוי מסויים לשורה. עמודה זו היא חלופה נהדרת לפקודת ה ,SELECT FOR UPDATE  בצורה זו ניתן לשמור על עקביות מבלי לנעול את השורה. לדוגמא – נוכל להשתמש בה כאשר נרצה להבטיח כי...