برای نمایش تعداد محدودی رکورد از خروجی یک پرس و جو، می توان از توابعی چون ROW_NUMBER، rank و همچنین Pseudo columnای بنام rownum استفاده کرد. البته در اوراکل نسخه 12c هم بهبودهای در این زمینه ایجاد شد و در این نسخه با استفاده از عبارت FETCH هم می توان به این هدف رسید. در ادامه متن با هر سه این روشها آشنا خواهیم شد.
شناسایی و KILL کردن SESSION های LOCK کننده در دیتابیس اوراکل
گاهی اوقات برخی OBJECTها یا رکوردهای جداول، به منظور عملیات DML در اختیار یک SESSION خاص قرار گرفته و LOCK شده اند بنابراین کاربران دیگر نمی توانند بر روی آنها از دستورات DML استفاده کنند. در این مواقع می بایست این دسته از SESSIONها را شناسایی کرد و عمل KILL کردن آنها را انجام داد تا پس از ROLLBACK اتوماتیک عملیات، OBJECTها یا رکوردهای مورد نیاز آزاد گردند.
در ادامه دو روش مختلف برای انجام عملیات شناسایی و KILL کردن SESSIONهای LOCK کننده معرفی می کنیم.
آموزش PL/SQL قسمت شانزدهم – برنامه نویسی شی گرا در اوراکل PL/SQL
در PL/SQL با استفاده از نوع (OBJECT (OBJECT TYPE می توان برنامه نویسی شی گرا یاOBJECT ORIENTED انجام داد. در OBJECT واسط ها و جزییات پیاده سازی از هم جدا می شوند و در دیتابیس ذخیره گردند. این روش، زمان و هزینه پیاده سازی برنامه های پیچیده را کاهش می دهد و خاصیت انتزاع (ABSTRACTION) و ترکیبی بودن را برقرار می کند.
آموزش PL/SQL قسمت پانزدهم – پکیج های DBMS در دیتابیس اوراکل
در دیتابیس اوراکل تعدادی پکیج به صورت BUILT-IN تعریف شده اند که به آنها پکیج های DBMS می گویند. این پکیج ها کاربردهای مختلفی دارند و می توان از آنها در زمان ساخت برنامه ها بهره برد.
آموزش PL/SQL قسمت چهاردهم – COLLECTION در اوراکل PL/SQL
آموزش PL/SQL قسمت سیزدهم – پکیج در اوراکل PL/SQL
در ادامه آموزش PL/SQL، در این قسمت پکیج (PACKAGE) را توضیح می دهیم. پکیج یکی از OBJECT های دیتابیس اوراکل است که متغیرها، زیربرنامه ها و … که از لحاظ منطقی به هم مرتبط هستند را در یک گروه قرار می دهد.
برای هر پکیج دو قسمت تعریف می شود:
1.قسمت مشخصات پکیج یا PACKAGE SPECIFICATION
2.قسمت بدنه پکیج یا (PACKAGE BODY(DEFINITION
در ادامه این دو قسمت را توضیح می دهیم.
آموزش PL/SQL قسمت دوازدهم TRIGGER در اوراکل PL/SQL
در این قسمت TRIGGER و روش استفاده از آن را توضیح می دهیم. TRIGGER یک بلاک برنامه ذخیره شده در دیتابیس اوراکل است که همزمان با رخدادهای خاص به صورت اتوماتیک اجرا (FIRE) می شود.
رخدادهایی که سبب اجرای یک TRIGGER می شوند عبارتند از:
1.رخداد دستورات DML
2.رخداد دستورات DDL
3.رخدادهای خاص در دیتابیس مانند LOGON، LOGOFF، STARTUP و SHUTDOWN
آموزش PL/SQL قسمت یازدهم – EXCEPTION و EXCEPTION-HANDLER در اوراکل PL/SQL
در این قسمت EXCEPTION و روش استفاده از EXCEPTION-HANDLER را توضیح می دهیم. منظور از EXCEPTION رخداد خطا در زمان اجرای برنامه است. برای مثال به دنبال اطلاعاتی هستیم که در دیتابیس وجود ندارند یا یک ورودی اشتباه به زیربرنامه ارسال می کنیم.
زبان PL/SQL با استفاده از بلاک EXCEPTION-HANDLER به برنامه نویس کمک می کند تا نوع EXCEPTION برنامه را متوجه شود و در زمان رخداد آنها دستورات مناسب را اجرا کند.
آموزش PL/SQL قسمت دهم – رکورد در اوراکل PL/SQL
در این قسمت رکورد (RECORD) در PL/SQL و روش استفاده از آن را توضیح می دهیم. رکورد یک ساختمان داده است که آیتم های متفاوت را کنار هم نگه می دارد. یعنی بر خلاف آرایه، این آیتم ها نوع داده متفاوت دارند. به همین جهت، هر سطر از جدول را یک رکورد می نامند زیرا معمولا سطرها از ستون های با نوع داده متفاوت تشکیل شده اند.
برای مثال می خواهیم اطلاعات کتاب های یک کتابخانه را بررسی کنیم. برای این کتاب ها مشخصات مختلف از جمله عنوان، نام نویسنده، موضوع کتاب و شماره کتاب وجود دارد. بنابراین برای آن ها یک رکورد با فیلدهای مورد نیاز تعریف می کنیم و اطلاعات مورد نظر را به شیوه بهتر دسته بندی کرده و نمایش می دهیم.
در PL/SQL می توان رکورد را به سه روش زیر تعریف کرد که در ادامه توضیح می دهیم.
آموزش PL/SQL قسمت نهم – CURSOR در اوراکل PL/SQL
دیتابیس اوراکل برای هر دستور SQL یک فضای حافظه به نام CONTEXT AREA ایجاد می کند که اطلاعات پردازشی دستور در این محل ذخیره می شود.
CURSOR یک اشاره گر به CONTEXT AREA است و PL/SQL با استفاده از CURSOR این فضا را کنترل می کند و اطلاعات آن را نمایش می دهد. برای مثال با استفاده از CURSOR می توان تعداد کل سطرهای دستکاری شده توسط یک دستور DML را مشاهده نمود یا محتویات داده در هر سطر از یک QUERY را بدست آورد.