Rajesh, do you not need to close your statement and result set objects in a try-finally block? rs.close and s1.close() would be needed, no? But you should NOT close the connection, right?
Regards, Ali public static long returnBigInt() throws Exception > { > Connection conn = > DriverManager.getConnection("jdbc:default:connection"); > > Statement s1 = conn.createStatement(); > ResultSet rs=s1.executeQuery("select max(col1) from > TABLE_TMP "); > rs.next(); > return rs.getInt(1); > } --- Rajesh Kartha <[EMAIL PROTECTED]> wrote: > Hi , > > Here is an example, hope that helps : > > (Note: I am using a class Functions.java. The > compiled class needs to be > in the CLASSPATH) > > ij> create table table_tmp(col1 int,col2 char(2)); > 0 rows inserted/updated/deleted > ij> insert into table_tmp values(10,'ca'); > 1 row inserted/updated/deleted > ij> select max(col1) from TABLE_TMP; > 1 > ----------- > 10 > > 1 row selected > > ij> CREATE FUNCTION MYFUNC() returns BIGINT > PARAMETER STYLE JAVA reads > sql data language JAVA EXTERNAL NAME > 'Functions.return > BigInt' ; > 0 rows inserted/updated/deleted > ij> drop table abc; > 0 rows inserted/updated/deleted > ij> create table abc(id bigint); > 0 rows inserted/updated/deleted > ij> insert into abc values(myfunc()); > 1 row inserted/updated/deleted > ij> insert into abc values(myfunc()); > 1 row inserted/updated/deleted > ij> select * from abc; > ID > -------------------- > 10 > 10 > > > ------------------------------------------------------------------------------- > > The Functions.java looks like: > > public class Functions{ > > public static long returnBigInt() throws > Exception > { > Connection conn = > DriverManager.getConnection("jdbc:default:connection"); > > Statement s1 = conn.createStatement(); > ResultSet rs=s1.executeQuery("select > max(col1) from TABLE_TMP "); > rs.next(); > return rs.getInt(1); > } > } > ------------------------------------------------------------------------------- > -Rajesh > > **************************************************************************** > Bernd Ruehlicke wrote: > > >Hi there, > > > >still Derby newby which is digging through the > documentatins but cannot > >find wht he needs ... > > > >trying to make a dum funtion MYFUNC without any > parameters returning a > >number it gets via soem sql lookups. Any examples > out there of how a > >function is to be declared without parameters and > how the java program > >can do SQL against Derby ? So that I can use this > function like > > > >ij> values myfunc; > > > > > >For the declaration I tried: > >CREATE FUNCTION MYFUNC RETURNS BIGINT PARAMETER > STYLE JAVA CONTAINS SQL > >LANGUAGE JAVA EXTERNAL NAME > 'com.xyz.DerbyFunctions.myfunc' > > > >and got > >ij> CREATE FUNCTION TEST1 RETURNS BIGINT PARAMETER > STYLE JAVA CONTAINS > >SQL LANGUAGE JAVA EXTERNAL NAME > 'com.xyz.DerbyFunctions.myfunc'; ERROR > >42X01: Syntax error: Encountered "RETURNS" at line > 1, column 23. > > > > > >So QUESTION: > > > >1) How to make this CREATE FUNC call correctly ? > >2) Is it possible to make a function so I do not > need to add () for no > >parameters > >3) How to I do SQL against Derby in my Java static > method ?!?! > > > >Thanx > >B-) > > > > > > > > > > > > > >