SQL/JRT

From Infogalactic: the planetary knowledge core
Jump to: navigation, search

SQL/JRT, or SQL Routines and Types for the Java Programming Language, is an extension to the SQL standard first published as ISO/IEC 9075-13:2002 (part 13 of SQL:1999). SQL/JRT specifies the ability to invoke static Java methods as routines from within SQL applications, commonly referred to as "Java stored procedures". SQL/JRT also calls for the ability to use Java classes as SQL structured user-defined types. The two parts of the extension originate from the earlier ANSI SQLJ 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 as SQL/OLB.)

Example

SQL/JRT allows a Java function to be called from SQL code like this:[1]

CREATE FUNCTION sinh(v DOUBLE) RETURNS DOUBLE
  LANGUAGE JAVA DETERMINISTIC NO SQL
  EXTERNAL NAME 'CLASSPATH:java.lang.Math.sinh'

SELECT sinh(doublecolumn) FROM mytable

SQL/JRT also allows Java code to dynamically generate tables using a java.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]

Implementations

Lua error in package.lua at line 80: module 'strict' not found. SQL/JRT stored procedures are implemented in HSQLDB.[1] Java stored procedures have also been implemented in Oracle's JServer (or Aurora JVM), which was introduced in the Oracle Database version 8i in 1999;[2][3] it is now called Oracle JVM.[4] IBM DB2 also supported Java stored procedures since about 1998, although using an external JVM (at that time).[5]

See also

References

  1. 1.0 1.1 1.2 HSQLDB manual
  2. Lua error in package.lua at line 80: module 'strict' not found.
  3. The Aurora JVM and Its Components, Oracle Corp.
  4. Lua error in package.lua at line 80: module 'strict' not found.
  5. Lua error in package.lua at line 80: module 'strict' not found.

External links


<templatestyles src="Asbox/styles.css"></templatestyles>