Could someone give me a brief explication about these two mechanisms in oracle : stored and external procedures.

Are they distinct ? Are they differ when we integrate in some language (Java, C++ or C ...) ?


Stored Procedures and External Procedure are distinct ones.

Stored procedures are stored in database and used from there. You can write them in different languages. Also note that you can pre-compile PL/SQL instead of interpreting

  • SQL/PL-SQL , most common
  • Java
  • .NET only in windows environment.

External Procedures are external functions/procedures in Operating System. You write a stored procedure in PL/SQL, use call specification to call other languages in operating System. This potentially gives you power to call any function in other languages. Following usages come to my mind.

  • Use a Data Mining algorithm which is not implemented in Oracle Data Mining
  • Use ftp function to transfer files to another server
  • Use a graphic functions of Gnu Plot to create graphics and store them in database for later use.

These usages in my opinion are extreme and unnecessary. All of them can be accomplished with application programs. Nowadays nobody uses database as it is. There are always applications built using Java, .NET, PHP etc. Whenever possible, these other languages should be used in application.

  • 1
    I agree. This is an ancient mechanism to call C functions mostly. After Java was supported, I don't see anyone wanting to do this any longer. Jan 28 '12 at 16:59

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.