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]).

Примечания

править
  1. ISO/IEC 9075-13:2002, часть 13
  2. Bulusu Lakshman. Oracle & Java Development. — Sams Publishing, 2002. — P. 6. — ISBN 978-0-672-32117-7.
  3. The Aurora JVM and Its Components Архивная копия от 6 февраля 2023 на Wayback Machine, Oracle Corp.
  4. 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.
  5. Don Chamberlin. A Complete Guide to DB2 Universal Database. — Morgan Kaufmann, 1998. — P. 565. — ISBN 978-1-55860-482-7.

Ссылки

править

📚 Artikel Terkait di Wikipedia

GNU Compiler for Java

используемых gcj, взято из проекта GNU Classpath (ср. библиотеку libgcj ). По состоянию на gcj 4.3, gcj интегрируется ecj, Java-компилятором Eclipse. По состоянию

JNode

коды доступны в git-репозитории. JNode использует свободную Java-библиотеку GNU Classpath. JavaOS Microsoft Singularity Фантом (ОС) Extremely Reliable Operating

JAR

com.sun.sample.ClassWithMainMethod: java -jar File_Name Для запуска класса, содержащегося в архиве java -classpath File_Name Class_Name При использовании

Сравнение C Sharp и Java

свободные проекты, частично совместимые с Oracle Java. Например, GNU Classpath и GNU Compiler for Java (GCJ) поставляют свободную библиотеку классов и

OpenJDK

OpenJDK (Open Java Development Kit) — бесплатная реализация платформы Java Standard Edition (Java SE) с открытым исходным кодом. Это результат усилий

GNU Classpath

GNU Classpath представляет собой проект, направленный на создание свободной реализации стандартной библиотеки классов для языка программирования Java. Несмотря

Kaffe

обеспечения среды исполнения Java. Как и многие другие свободные виртуальные машины Java, Kaffe использует GNU Classpath в качестве библиотеки классов

Jaos

таблицы методов. Использует GNU Classpath как стандартную библиотеку. Поддержка прекращена. Список виртуальных машин Java www-old.oberon.ethz.ch/jaos/index