SQL/JRT
SQL/JRT или SQL Routines and Types for the Java Programming Language — это расширение стандарта SQL впервые опубликованное в документе ISO/IEC 9075-13:2002 (часть 13 стандарта SQL:1999). SQL/JRT устанавливает возможность вызова статических методов языка программирования Java в качестве программ (обычно называемых "Хранимые процедуры Java"("Java stored procedures")) из приложений SQL. SQL/JRT также требует возможности использования классов Java в качестве структурированных типов языка запросов SQL. Две части расширения первоначально произошли из ранних частей 1 и 2 стандарта SQLJ Американского национального института стандартов (не следует путать с частью 0 SQLJ, которая определила встраивание SQL в Java, позднее стандартизированное ISO в виде расширения SQL/OLB.)
Пример
SQL/JRT позволяет Java функции быть вызванной из кода SQL подобно следующему примеру:[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 также позволяет коду Java динамически генерировать таблицы используя объект java.sql.ResultSet
. Итоговые наборы данных возвращаются сконвертированными в SQL таблицы или представления и могут быть использованы везде, где могут быть использованы эти сущности.[1]
Реализации
Хранимые процедуры SQL/JRT реализованы в базе данных HSQLDB.[1] Хранимые процедуры Java также были реализованы в Oracle JServer (или Aurora JVM), который был представлен в версии 8i базы данных Oracle Database в 1999 году;[2][3] сегодня эта система называется Oracle JVM.[4] IBM DB2 также поддерживал хранимые процедуры Java начиная примерно с 1998 года, хотя используя на тот момент внешнюю JVM.[5]
См. также
Ссылки
- ↑ 1 2 3 HSQLDB manual
- ↑ Bulusu Lakshman. Oracle & Java Development. — Sams Publishing, 2002. — P. 6. — ISBN 978-0-672-32117-7.
- ↑ The Aurora JVM and Its Components, Oracle Corp.
- ↑ Rick Greenwald. Oracle Essentials: Oracle Database 11g / Rick Greenwald, Robert Stackowiak, Jonathan Stern. — O'Reilly Media, Inc., 2008. — P. 323. — ISBN 978-0-596-51454-9.
- ↑ Don Chamberlin. A Complete Guide to DB2 Universal Database. — Morgan Kaufmann, 1998. — P. 565. — ISBN 978-1-55860-482-7.
Внешние ссылки
- SQL:2003 SQL/JRT draft
- SQL:2003 SQL Standard User Defined Types and Routines from the Farrago documentation