db-derby-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Rick Hillegas <rick.hille...@oracle.com>
Subject Re: How to get Script of a stored procedure
Date Mon, 28 Nov 2011 14:45:20 GMT
On 11/22/11 11:21 PM, gopi krishna wrote:
> Hi
>
>   This is Krishna , i need to edit an existing stored procedure from 
> one of the client. So i need to get script of that stored 
> procudure.How can i get that.
> Please can you help me here
>
> Thanks
> Krishna
Hi Krishna,

Derby stored procedures are just public static methods in user-supplied 
classes. The following code will show you what static method is bound to 
the procedure name you're interested in. Here's how you run this program:

java z $connectionURL $schemaName $procedureName

e.g.:

java z jdbc:derby:db APP P

Here is the program:

import java.sql.*;

import org.apache.derby.catalog.types.MethodAliasInfo;

public  class   z
{
     public  static  void    main( String[] args ) throws Exception
     {
         String  connectionURL = args[ 0 ];
         String  schemaName = args[ 1 ];
         String  procedureName = args[ 2 ];

         Class.forName( "org.apache.derby.jdbc.EmbeddedDriver" );
         Class.forName( "org.apache.derby.jdbc.ClientDriver" );
         Connection  conn = DriverManager.getConnection( connectionURL );

         PreparedStatement ps = conn.prepareStatement
             (
              "select javaclassname, aliasinfo\n" +
              "from sys.sysaliases a, sys.sysschemas s\n" +
              "where s.schemaid = a.schemaid\n" +
              "and s.schemaname = ?\n" +
              "and a.alias = ?\n"
              );
         ps.setString( 1, schemaName );
         ps.setString( 2, procedureName );
         ResultSet   rs = ps.executeQuery();

         rs.next();
         String  className = rs.getString( 1 );
         String  methodName = ((MethodAliasInfo) rs.getObject( 2 
)).getMethodName();

         System.out.println( className + "." + methodName );
     }
}

Hope this helps,
-Rick


Mime
View raw message