שיפור קטן בשימוש עם אובייקט Sequence - ilDBA Portal

שיפור קטן בשימוש עם אובייקט Sequence

08/05/2011 | פורסם על ידי

הדברים הקטנים שעושים את החיים קלים יותר…

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

DECLARE
   v_seq_value      NUMBER;
BEGIN
   SELECT  my_seq.NEXTVAL
   INTO      v_seq_value
   FROM   DUAL;

   DBMS_OUTPUT.PUT_LINE(v_seq_value);
END;

אם תנסו לעשות את אותו הדבר, אולם תוך שימוש בהשמה פשוטה במקום השליפה הנ"ל, תקבלו הודעת שגיאה:

DECLARE
  v_seq_value      NUMBER;

BEGIN
  v_seq_value:=my_seq.NEXTVAL;
  DBMS_OUTPUT.PUT_LINE(v_seq_value);
END;

v_seq_value:=my_seq.NEXTVAL;
*
ERROR at line 4:
ORA-06550: line 4, column 22:
PLS-00357: Table,View Or Sequence reference 'MY_SEQ.NEXTVAL' not allowed in this context
ORA-06550: line 4, column 2:
PL/SQL: Statement ignored

אולם, החל מגרסת Oracle11g, הקוד הנ"ל עובד! אין צורך יותר לבצע שליפה מטבלת ה- DUAL אלא ניתן פשוט לבצע השמה. אתם מוזמנים להריץ את הקוד הנ"ל ב- 11g ולראות איך הפלא עובד…
אלה הדברים הקטנים שעושים את החיים קלים יותר…

למידע נוסף על שיפורים ב-PL/SQL בסביבת 11g, הכנסו לאתר :
http://www.oracle.com/technetwork/articles/sql/11g-efficient-coding-093640.html

נתראה ברשומה הבאה!

עמי אהרונוביץ

ניתן ליצור קשר עם עמי דרך עמוד האודות שלו: אודות

השאר תגובה:

שם (חובה):
אימייל (לא יפורסם) (חובה):
תגובה (חובה):

*



מאמרים קשורים

MySQL

MySQL For Oracle DBA’s – בסיסי נתונים, טבלאות ומשתמשים

תודה שחזרתם, אחרי שראינו שבוע שעבר איך מתקינים את MySQL הגיע הזמן להבין קצת יותר, אז בואו נתחיל … Databases MySQL תומך בעד 32,000 בסיסי נתונים ב-Instance. כ-Oracle DBA אני משווה MySQL Database ל-Oracle Schema שכן הוא מחזיק [...]
MySQL

MySQL for Oracle DBA’s – התקנה וחיות אחרות

אני עוד זוכר שהתקנה של אורקל הייתה לוקחת יום ואפילו יומיים שלמים, גם היום להתקין אורקל יכול להיות משימה לא פשוטה במידה ומדובר ב-RAC ואו אנשי ה-SYSTEM לא סיפקו לנו סביבת Linux נאותה שיש בה את כל Packages [...]
MySQL

MySQL for Oracle DBA’s – ארכיטקטורה ומנועים

לאחר שהכרנו את ההיסטוריה של MySQL הגיע הזמן להכיר קצת יותר לעומק את הארכיטקטורה ואפילו להשוות אותה לזו של Oralce. ארכיטקטורה כ-DBA-ים מנוסים בטח תשימו לב שבדיוק כמו ל-Oracle ל-MySQL יש Optimizer שתפקידו לקבוע את [...]
MySQL

MySQL for Oracle DBA's – מבוא

פני מספר שנים רכשה אורקל את חברת SUN, רכישה זו כללה את בסיס הנתונים ה-OpenSource המוביל של אותם זמנים – MySQL. רבים שאלו אותי מה לדעתי יקרה עם MySQL האם הוא יטמע בתוך Oracle, האם אורקל  תחליט להרוג אותו או [...]
Copyright 2019 ilDBA Portal. Brought to you by Brillix - Israel Leading DBA company. Sponsored by: DBSnaps - Database Video Tutorialss
Website Security Test
%d בלוגרים אהבו את זה: