اوراکل اپکس- چند نکته در اوراکل قسمت اول

چند نکته در دیتابیس اوراکل-قسمت اول

 

SQL را تلفظ کنیم؟ (S-Q-L or SeQueL)?
(S-Q-L *** SeQueL): در واقع تلفظ اولیه SQL همان سی کوئل (SEQUEL) مخفف (Structured English Query Language) بوده است و طراحان اولیه این زبان در IBM بعد از مدتی کلمه English را حذف کردند و تبدیل شد به (Structured Query Language).
حال بعضی از افراد به علت احترام گذاشتن به نام اولیه آن را:
سی کوئل (SEQUEL) و بر خی دیگر آن را (S-Q-L) نام می برند.
استفاده از PLS_INTEGER در اوراكل
  • وقتي از مقادير عددي بدون اعشار استفاده مي كنيد موثر خواهد بود.
  • حداكثر مقدار آن 32 بيتي مي باشد بين -2,147,483,648 تا 2,147,483,647 مي باشد. صفر را نيز شامل مي شود.
  • كاربرد آن در PL/SQL مي باشد و نمي توان بعنوان Type فيلدهاي جداول مورد استفاده قرار گيرد.
  • در مقايسه با NUMBER (دراي پردازش سنگين) از پردازش كمتري استفاده مي كند. به اين علت پيشنهاد مي شود جاهايي كه داراي مقادير (مثبت و صفرو منفي) مي باشد از آن استفاده شود.
  • معمولا افراد در Index Type براي Array ها استفاده مي كنند. ولي مي توان در موارد ديگر نيز مورد استفاده قرار گيرد.
سه ابزار پیشنهادی از طرف آقای Steven Feuerstein  برای تست PL/SQL
?utPLSQL: “Junit for PL/SQL”, an open source framework that I originally built in 1999 and is now managed by Paul Walker.
?SQL Developer Unit Testing: Oracle’s free PL/SQL IDE offers integrated unit testing.
?Dell Code Tester for Oracle: a commercial unit testing tool that I originally designed and helped to build, sold as part of the Toad Development Suite for Oracle.
ایجاد عدد رندوم بصورت ساده در اوراکل

FUNCTION random_pin (digits IN NUMBER) IS
BEGIN
IF digits IS NULL OR digits < 1 THEN
RAISE_APPLICATION_ERROR(-20000,'No.');
END IF;
RETURN TRUNC( DBMS_RANDOM.value(
POWER(10, digits-1)
,POWER(10, digits) ));
END random_pin;
Test: random_pin(digits => 7);
4823729
یک اسکریپت ساده برای محاسبه دقیقه در اوراکل
select
round(
(to_date('1394/04/05 12:30','yyyy/mm/dd hh24:mi')
-to_date('1394/04/04 11:30','yyyy/mm/dd hh24:mi')
) * 24 * 60
,0) as result_in_minutes
from dual;
Duplicate کردن مقدار خروجی یک کوئری در اوراکل
مي توانيد از يك Query مجازي استفاده نماييد.
بطور مثال:

select *
from emp,(select level
from dual
connect by level < 3
)
حال هر چند بار كه خواسته باشيد مي توانيد ركورد تكراري ايجاد كنيد. به جاي جدول emp نام جدول خود را جايگزين كنيد.
بدست آوردن تاریخ اول و آخر هر ماه در اوراکل
select To_Char(Last_Day(ADD_MONTHS(sysdate,-1))+1,'YYYY/MM/DD') AS FA_F_DAY,
To_Char(Last_Day(sysdate),'YYYY/MM/DD') AS FA_L_DAY
,Last_Day(ADD_MONTHS(sysdate,-1))+1 as EN_F_DAY
,Last_Day(sysdate+1) as EN_L_DAY
,To_Char(Last_Day(ADD_MONTHS(to_date('1395/12/10','YYYY/MM/DD'),-1))+1,'YYYY/MM/DD') AS FA2_F_DAY
,To_Char(Last_Day(to_date('1395/12/10','YYYY/MM/DD')),'YYYY/MM/DD') AS FA2_L_DAY
,Last_Day(ADD_MONTHS(to_date('2016/11/26','YYYY/MM/DD','NLS_CALENDAR=Gregorian'),-1))+1 as EN_F_DAY
,Last_Day(to_date('2016/11/26','YYYY/MM/DD','NLS_CALENDAR=Gregorian')+1) as EN_L_DAY
from dual
مشاهده n رکورد آخر یک کوئری – جدول اوراکل
در این مثال می خواهم ۱۰ تا رکورد آخر را مشاهده کنم:
شما می توانید از یک حقه استفاده نمایید: به مثال زیر توجه کنید
SELECT * FROM (SELECT * FROM yourtable ORDER BY yourfield DESC )
WHERE ROWNUM <= 10
در کوئری داخلی رکوردهای جدول را براساس هر فیلدی که مورد نظرتان است را بصورت نزولی مرتب کنید و سپس در کوئری خارجی 10 تای آنرا برگردانید.
چند نکته در دیتابیس اوراکل-قسمت دوم
چند نکته در دیتابیس اوراکل-قسمت سوم
امیدوار هستم که کمک کرده باشم.
3.7/5 - (3 امتیاز)

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

این قسمت نباید خالی باشد
این قسمت نباید خالی باشد
لطفاً یک نشانی ایمیل معتبر بنویسید.

keyboard_arrow_up
Oracle APEX Capabilities (OAC)