В света на Oracle общият ред на разработка трябва да бъде:
Където е възможно, направете го само с SQL. Ако имате нужда от нещо повече от SQL, направете го с PL/SQL. Ако имате нужда от нещо, което PL/SQL не може да направи, използвайте Java. Ако всичко останало се провали, използвайте C. Ако не можете направете го с C, отдръпнете се бавно от проблема...
PL/SQL съхранените процедури са отличен начин за преместване на вашата бизнес логика към слой, който ще бъде достъпен от всяка интеграционна технология. Бизнес логиката в пакет (не пишете самостоятелни функции и процедури - те ще растат с времето по неуправляем начин) може да се изпълнява от Java, C#, PL/SQL, ODBC и т.н.
PL/SQL е най-бързият начин за разхвърляне на огромни парчета данни извън чистия SQL. Функциите „Групово обвързване“ означават, че работи много добре със SQL машината.
Съхранените процедури на Java са най-добри за създаване на функционалност, която взаимодейства с мрежата или операционната система. Примери за това биха били изпращане на имейли, FTP изпращане на данни, извеждане в текстови файлове и компресиране, изпълнение на командни редове на хост като цяло.
Никога не ми се е налагало да кодирам C, когато работя с Oracle, но вероятно може да се използва за интегриране с наследени приложения.