SQL/JRT, orSQL Routines and Types for the Java Programming Language, is an extension to theSQL standard first published asISO/IEC 9075-13:2002 (part 13 ofSQL:1999). SQL/JRT specifies the ability to invoke staticJava methods as routines from within SQL applications, commonly referred to as "Javastored procedures". SQL/JRT also calls for the ability to use Java classes as SQLstructured user-defined types. The two parts of the extension originate from the earlierANSISQLJ part 1 and 2 standards (not to be confused with SQLJ part 0, which defined an embedding of SQL into Java, later standardized by ISO asSQL/OLB).
SQL/JRT allows a Java function to be called from SQL code like this:[1]
CREATEFUNCTIONsinh(vDOUBLE)RETURNSDOUBLELANGUAGEJAVADETERMINISTICNOSQLEXTERNALNAME'CLASSPATH:java.lang.Math.sinh'SELECTsinh(doublecolumn)FROMmytable
SQL/JRT also allows Java code to dynamically generate tables using ajava.sql.ResultSet object. The result sets returned are converted to SQL tables and can be used anywhere a table or view can be used.[1]
This sectionneeds expansion. You can help byadding missing information.(November 2012) |
SQL/JRT stored procedures are implemented inHSQLDB.[1] Java stored procedures have also been implemented in Oracle'sJServer (or Aurora JVM), which was introduced in theOracle Database version 8i in 1999;[2][3] it is now calledOracle JVM.[4]IBM DB2 also supported Java stored procedures since about 1998, although using an external JVM (at that time).[5]