چند نکته در دیتابیس اوراکل-قسمت ششم
چند نکته در دیتابیس اوراکل-قسمت اول
چند نکته در دیتابیس اوراکل-قسمت دوم
چند نکته در دیتابیس اوراکل-قسمت سوم
چند نکته در دیتابیس اوراکل-قسمت چهارم
چند نکته در دیتابیس اوراکل-قسمت پنجم
export داده های چند جدول در چندین فایل در اوراکل
روش اول: باید با دیتای زیاد تست شود
set colsep “;”
set linesize 9999
set trimspool on
set heading off
set pagesize 0
set wrap off
set feedback off
set newpage 0
set arraysize 5000
spool your_csv_file.csv
select rows from your tables;
spool off
روش دوم که یک ابزار جاوایی می باشد. به نام DBCrane
-
طبق گفته خود سایت سرعت آن 3 برابر imp/export می باشد.
-
سرعت آن از ابزارهای ETL نیز سریعتر می باشد.
-
بر روی همه سیستم عامل ها نصب می شود.
-
برای هر کدام از ورژن های جاوا یک نسخه مجزا دارد.
در مورد sql injection در اوراکل و حمله های جدید و راهکارهای جدید
معمولا درحال حاضر هریک از ابزارهای برنامه نویسی خود بصورت پیش فرض مسائل امنیتی بخصوص کنترل sql injection را رعایت می کنند. برای کنترل بیشتر بهتر است که از سخت افزارها و ابزارها استفاده شود.
یکی از راه کارها برای جلوگیری از Sql injection استفاده از Web Application Firewall –WAF می باشد.
برای چک کردن Sql injection ابزارهای مختلفی می باشد که ابزار Acunetix می تواند در این زمینه به شما کمک کند.
درباره Ad hoc Query
شاید خیلی جاها از این اصطلاح نام برده باشند. این یک کلمه لاتین می باشد که در انگلیسی به معنی “برای این هدف” هم معنی می دهد. در واقع یک نوع کوئری می باشد که شما فقط در یک نوع قاعده خاصی که مورد نیاز شما باشد استفاده می گردد. در مثال زیر یک نمونه ساده از آن می باشد که اجرای هربار کوئری بر اساس نوع متغیر متفاوت می باشد.
l_query = "Select * from table where id = " + yourId
فانكشن Greatest و Least در اوراکل
جهت پيدا كردن كوچكترين عدد در بين مجموعه اعداد از Least استفاده ميشود.
جهت پيدا كردن بزرگترين عدد در بين مجموعه اعداد از Greatest استفاده ميشود.
مثال اول:
select least(4,5,6,7,8,nvl(null,-1)) low,
greatest(4,5,6,7,8,nvl(null,-1)) high
from dual
Result:
low = -1
high =>
select least(4,5,6,7,8,nvl(null,-1)) low,
greatest(4,5,6,7,8,nvl(null,-1)) high
from dual
Result:
low = -1
high =>
مثال دوم:
select s.*,
greatest(sal,comm) high,
least(sal,comm) low
from salary s
select s.*,
greatest(sal,comm) high,
least(sal,comm) low
from salary s
استفاده CASE within RETURN در اوراکل
از این مدل می توانید به جای استفاده از -IF ELSIF- در فانکشن استفاده کنید برای برگرداندن یک مقدار:
CREATE OR REPLACE FUNCTION grade_translator (grade_in IN VARCHAR2)
RETURN VARCHAR2
IS
BEGIN
RETURN CASE grade_in
WHEN 'A' THEN 'Excellent'
WHEN 'B' THEN 'Very Good'
WHEN 'C' THEN 'Good'
WHEN 'D' THEN 'Fair'
WHEN 'F' THEN 'Poor'
ELSE 'No such grade'
END;
END;
RETURN VARCHAR2
IS
BEGIN
RETURN CASE grade_in
WHEN 'A' THEN 'Excellent'
WHEN 'B' THEN 'Very Good'
WHEN 'C' THEN 'Good'
WHEN 'D' THEN 'Fair'
WHEN 'F' THEN 'Poor'
ELSE 'No such grade'
END;
END;