اوراکل اپکس- چند نکته در دیتابیس اوراکل۳

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

 

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

 

نحوه استفاده فیلد تاریخ در اوراکل از طریق کوئری داینامیک

v_where :=
'To_Date('''||To_Char(:P_Sysdate,'YYYY/MM/DD')||''',
''YYYY/MM/DD'') Between FIELD_FROM_DATE And
Nvl(a.FIELD_TO_DATE,To_Date('''||To_Char(:P_Sysdate,'YYYY/MM/DD')||''',''YYYY/MM/DD''))';
بیشترین تعداد ستون در هر یک از جداول اوراکل
  • برای Oracle 7 برابر است با ۲۵۴ ستون.
  • برای Oracle 8i, 9i, 10g, 11g, 12c برابر است با ۱۰۰۰ ستون
نکته: این بدین معنی نمی باشد که شما نرمال سازی بر روی جداول را انجام ندهید و همه اطلاعات را در یک جدول نگهداری کنید.
در مورد JSON در دیتابیس اوراکل
اوراکل در نسخه ۱۲C به بعد اعلام میکند که:
ACID(Atomicity, Consistency, Isolation, Durability) transactions over JSON documents
Full SQL access to JSON documents, 👉providing scalable reporting and analytics👈 for document-store applications as well as 👉simple integration between JSON documents, relational data, and other data types.👈
With JSON documents fully embedded in the Oracle Database, document-store applications can also realize all of the benefits of Oracle Database’s enterprise-level 👉availability, scalability security, and manageability👈
همچنین یک عمگر جدید در SQL/JSON به نام :👈JSON_TABLE👉 که دارای سه مشخصه زیر است:
  • Generate rows from a JSON Array.
  • Pivot properties / key values into columns.
  • Use Nested Path clause to process multi-level collections with a single JSON_TABLE operator
حال با مثال بیان می کنم:
select M.*
from J_PURCHASEORDER p,
JSON_TABLE(p.PO_DOCUMENT,'$'columns
PO_NUMBER NUMBER(10) path '$.PONumber',
REFERENCE VARCHAR2(30 CHAR) path '$.Reference',
REQUESTOR VARCHAR2(32 CHAR) path '$.Requestor',
USERID VARCHAR2(10 CHAR) path '$.User',
COSTCENTER VARCHAR2(16) path '$.CostCenter'
) M
where PO_NUMBER > 1600 and PO_Number < 1605
حذف رکوردهای تکراری از جدول در اوراکل
یکی از مسائلی که برای توسعه دهندگان دیتابیس رخ می هد حذف رکوردهای تکراری از جداول می باشد. حال این عمل را می توان در هر محیطی و بدون اینکه بخواهید از امکانات ابزار خاصی استفاده کنید انجام دهید.
DELETE TB a
WHERE a.ROWID > (SELECT MIN(b.ROWID) FROM TB b WHERE b.F1 = A.F1)
در مثال بالا فقط از یک فیلد یکتا استفاده شده، حال شما باید نسبت به جدول و رکوردهای تکراری که می خواهید حذف کنید فیلدهای خود را در شرط اضافه کنید.
نکته: البته ابزار هایی مانند Toad این امکان را بصورت ویزاردی برای شما فراهم می کند.
در مورد Case-sensitive passwords در اوراکل
  • تا نسخه Oracle database 11g Release 1 پسوردها درون دیتابیس بصورت case-insensitive بود. ولی از این نسخه به بعد بصورت استاندارد Case-sensitive شد.
  • این امکان وجود دارد که بتوانیم آنرا فعال و غیرفعال کنیم. یک پارامتر بنام sec_case_sensitive_logon وجود دارد.
  • حال برای فعال و غبرفعال کردن آن به طریق زیر عمل می کنیم.

ALTER SYSTEM SET sec_case_sensitive_logon=false;
ولی پیشنهاد می شود که Case-sensitive passwords را غیر فعال نکنید.

 

چند نکته در دیتابیس اوراکل-قسمت سوم
امتیاز ۴٫۷ از ۳ رای

1 دیدگاه. ارسال دیدگاه جدید

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

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

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

فهرست
افزونش-افزایش دانش سرمایه گذاری