هرچند SQL بسیاری از نیازمندیهای برنامهنویسان را در زمینهی کار با دادهها برطرف مینماید اما در مواقعی که نیاز به پیادهسازی توابع پیچیده یا تبدیل انواع خاص و سفارشی بهم داریم نیاز به استفاده از یک زبان برنامهنویسی سطح بالا وجود دارد. هرچند استفاده از زبانهای برنامهنویسی دیگر در بانکهای اطلاعاتی رابطهای مرسوم نیست و حتی در برخی موارد ممکن است کارایی سیستم را کاهش دهد اما اگر در جای درستی استفاده شود مطمئنا باعث بهبود عملکرد کلی سیستم میشود. بدین منظور، در بانک اطلاعاتی Oracle قابلیت استفاده از زبان برنامهنویسی Java وجود دارد و میتوان متدهای نوشته شده با این زبان را با SQL ادغام و اجرا نمود.
در برخی از سناریوها نیاز به نمایش خروجی چند مقدار به صورت یک مقدار با یک جداکننده مانند کاما داریم. در Oracle میتوان از تابع LISTAGG برای تبدیل نتایج پرسوجو به صورت یک مقدار جداشده با کاما استفاده نمود.
به منظور استفاده از جداول نمونه یکسان در مطالب این وبلاگ تصمیم گرفتم در یک مطلب جداگانه اسکریپتهای مربوط به ایجاد جداول و ثبت دادههای پیش فرض آن را برای هر نوع بانک اطلاعاتی قرار دهم. در این مطلب اسکریپت مربوط به بانک اطلاعاتی Oracle قرار داده شده است.