Executing PL/SQL from ANT – how to keep the format straight


Just read the post Executing Oracle PL/SQL from Ant on how to use Ant for executing PL/SQL tasks, such as creating Packages and Stored Procedures. I have used Ant for that in the past. However, one of the problems I ran into was the fact that PL/SQL objects created by Ant had all their PL/SQL Code on a single line; impossible to work with from tools such as TOAD and PL/SQL Developer.

In this post, I read for the first time about the keepformat attribute in the Ant SQL task. This property supposedly ensures that the code will be created as it is defined in the Ant task or the imported external file.

<sql rdbms="oracle"
   <transaction src="create_package.sql"/>

It is in the Ant Documentation (see: SQL Task) so I must have searched lousily last time. Any way, good to know it can be so simple.


About Author

Lucas Jellema, active in IT (and with Oracle) since 1994. Oracle ACE Director for Fusion Middleware. Consultant, trainer and instructor on diverse areas including Oracle Database (SQL & PLSQL), Service Oriented Architecture, BPM, ADF, Java in various shapes and forms and many other things. Author of the Oracle Press book: Oracle SOA Suite 11g Handbook. Frequent presenter on conferences such as JavaOne, Oracle OpenWorld, ODTUG Kaleidoscope, Devoxx and OBUG. Presenter for Oracle University Celebrity specials.


  1. Hi,

    There is a much better way of executing plsql scripts using ant. I tried the sql task but failed when creating user defined functions.

    visit this site to get more information about sqlplus task created for oracle. http://incanto.sourceforge.net/usage.html

    if you use this task you also get feedback in terms of error sucess.

    Ken. ;-)

  2. zdenek Vrablik on

    HI, it works, but i am not able to get possible compilation errors back to ANT.
    Is there any possibility to see compilation errors in ant script?

    Thanks Zdenek

  3. Nice way to integrate the built process with PL/SQL unittesting (utPL/SQL) and documentation generation (PLDoc).