Русская Википедия:SQL/JRT

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

SQL/JRT (SQL Routines and Types for the Java Programming Language) — расширение языка SQL, принятое в стандарте SQL:1999[1]. Обеспечивает возможность вызова из SQL-кода статических методов языка программирования Java в качестве хранимых процедуры и использование классов Java в качестве структурированных типов.

Две части расширения первоначально произошли из ранних частей 1 и 2 стандарта SQLJ Американского национального института стандартов (часть 0 этого стандарта позднее стандартизирована ISO в виде расширения SQL/OLB).

Пример определения и последующего вызова java-функции (из руководства HSQLDB):

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/JRT — HSQLDB, Oracle Database (процедуры выполняются в Aurora JVM, реализованной в версии 8i в 1999 году[2][3], позднее переименованную в Oracle JVM[4]), IBM DB2 (с 1998 года, но требуется внешняя JVM[5]).

Примечания

Шаблон:Примечания

Ссылки

Шаблон:SQL