استفاده از Large Objects در SQL

در این قسمت از آموزش برنامه نویسی اوراکل بعد از آشنایی یا آموزش معرفی Large Objects قصد داریم آموزش استفاده از Large Objects در SQL را یاد بگیریم و اینکه چطوز با استفاده از دستورات SQL داده های با حجم بالا Large Objects را بصورت نوع داده ای CLOB . BLOB و یا بصورت توع داده ای BFILE ذخیره کنیم.

پر کردن داده ها بصورت CLOBs و BLOBs

در این قسمت از با استفاده از دستور INSERT دو رکورد به جدول های clob_content اضافه می کنیم. توجه داشته باشید ما با استفاده از تابع ()TO_CLOB داده را از نوع داده های text به CLOB تبدیل می کنیم.

برنامه نویسی اوراکل
برنامه نویسی اوراکل

در این قسمت از با استفاده از دستور INSERT دو رکورد به جدول های blob_content اضافه می کنیم. توجه داشته باشید ما با استفاده از تابع ()TO_BLOB داده را از نوع داده های text به BLOB تبدیل می کنیم.

(در اولین دستور INSERT داده به صورت اعداد باینری binary number درج می شود در دومین دستور داده بصورت اعداد hexadecimal number درج خواهد شد. )

برنامه نویسی اوراکل

گرفتن و نمایش داده ها از CLOBs و BLOBs

شما با استفاده از کوئری زیر اطلاعات و داده های جدول به نام clob_content را نمایش می دهید.

برنامه نویسی اوراکل

شما با استفاده از کوئری زیر اطلاعات و داده های جدول به نام blob_content را نمایش می دهید.

برنامه نویسی اوراکل

تغییر و بروزرسانی داده ها در CLOBs و BLOBs

شما می توانید با استفاده از دستور UPDATE می توانید داده هایی که نوع داده های از نوع BLOBs و CLOBs را بروز رسانی و تغییر دهید.

برنامه نویسی اوراکل

همچنین شما می توانید LOB locator را تعریف کنید اما نمی توانید داده های واقعی را در LOB دیتابیس ذخیره کنید شما می توانید با استفاده از تابع ()EMPTY_CLOB یک مقدار خالی از نوع CLOB و با استفاده از تابع ()EMPTY_BLOB مقدار خالی از نوع BLOB را ذخیره کنید.

برنامه نویسی اوراکل

دستور بالا فقط LOB locator را تعریف می کند اما بایستی داده بصورت LOB خالی قرار داده شود.

همچنین شما می توانید با استفاده از توابع ()EMPTY_CLOB و ()EMPTY_BLOB در دستور UPDATE مقادیر خالی را بصورت داده های LOB ایجاد و بروزرسانی کنید.

برنامه نویسی اوراکل

استفاده از BFILEs

یک BFILE یک pointer اشاره گر به فایلی دسترسی به دیتابیس در سرتاسر سیستم و سرور دارد. اهمیت این موضوع این است که این فایل ها در حارج از دیتابیس می باشد. یک BFILE اشاره point دارد به فایلی که در هرکجای سرور می توانید باشد که این فایل می تواند یک hard disk, CD, DVD, Blu-ray Disc, HD-DVD و … باشد.

نکته : یک BFILE یک اشاره pointer دارد به فایل خارج از دیتابیس و اصل و خود فایل در دیتابیس ذخیره نمی شود و به جای آن فقط اشاره گر pointer به آن فایل در دیتابیس ذخیره می شود و این فایل های از طریق pointer به دیتابیس دسترسی و ارتباط دارند.

ایجاد یک Directory Object

قبل از ایتکه بخواهید pointer اشاره گر به یک فایل را در BFILE ذخیره کنید ابتدا بایستی یک دایرکتوری directory object در دیتابیس ایجاد کنید که این directory object دایرکتوری می باشد فایل های خارجی در آن قرار می گیرد و ذخیره می شود.

شما می توانید یک دایرکتوری directory object را با اسنفاده از دستور CREATE DIRECTORY ایجاد کنید.

به عنوان مثال شما دایرکتوری به نام SAMPLE_FILES_DIR در سیستم عامل ویندوز به آدرس C:\sample_files ایجاد می گردد.

برنامه نویسی اوراکل

در ادامه شما به دایرکتوری به نام SAMPLE_FILES_DIR دسترسی read و write به کاربری به نام lob_user داده grants می شود.

برنامه نویسی اوراکل

پر کردن و درج داده در ستون BFILE از طریق اشاره Pointer به فایل

به دلیل این که BFILE فقط اشاره pointer به یک فایل خارجی و خارج از دیتابیس دارد پر کردن و درج داده ستون BFILE خیلی ساده می باشد. همه آن کاری که بایستی در دیتابیس انجام دهید این است که با استفاده از تابع ()BFILENAME درج کنید یک BFILE با یک اشاره گر pointer به آن قایل خازجی.

تابع ()BFILENAME دو پارامتر parameters ورودی دارد اولی نام دایرکتوری directory object’s که فایل در آن قرار دارد و دیگری نام فایل می باشد.

به عنوان مثال با استفاده از دستور INSERT رکوردی در جدول bfile_content درج می کنیم.

برنامه نویسی اوراکل

و با استفاده دستور زیر داده های جدول bfile_content را نمایش می دهیم.

برنامه نویسی اوراکل

اطلاعات بیشتر مورد LoBs

pl/sql

Procedures

pl/sql

معرفی Large Objects (LOBs)

pl/sql

استفاده از Collection Methods – قسمت دوم

دیدگاه خود را بنویسید:

آدرس ایمیل شما نمایش داده نخواهد شد.

*

code

فوتر سایت