SQL/JRT
SQL/JRT , eller SQL Routines and Types for the Java Programming Language , är en tillägg till SQL- standarden som först publicerades som ISO /IEC 9075-13:2002 (del 13 av SQL:1999 ). SQL/JRT specificerar möjligheten att anropa statiska Java -metoder som rutiner från SQL-applikationer, vanligtvis kallade " Lagrade Java-procedurer ". SQL/JRT kräver också möjligheten att använda Java-klasser som SQL- strukturerade användardefinierade typer . De två delarna av tillägget kommer från de tidigare ANSI SQLJ del 1 och 2 (inte att förväxla med SQLJ del 0, som definierade en inbäddning av SQL i Java, senare standardiserad av ISO som SQL/OLB .)
Exempel
SQL/JRT tillåter att en Java-funktion anropas från SQL-kod så här:
SKAPA FUNKTION sinh ( v DUBBEL ) RETURNERAR DUBBELSPRÅK JAVA DETERMINISTISK NEJ SQL EXTERNT NAMN 'CLASSPATH:java.lang.Math.sinh ' VÄLJ sinh ( dubbelkolumn ) FRÅN mytable
SQL/JRT tillåter även Java-kod att dynamiskt generera tabeller med hjälp av ett java.sql.ResultSet
-objekt. Resultatuppsättningarna som returneras konverteras till SQL-tabeller och kan användas var som helst där en tabell eller vy kan användas.
Genomföranden
SQL/JRT lagrade procedurer är implementerade i HSQLDB . Java lagrade procedurer har också implementerats i Oracles JServer (eller Aurora JVM), som introducerades i Oracle Database version 8i 1999; det heter nu Oracle JVM. IBM DB2 stödde även lagrade Java-procedurer sedan omkring 1998, även om man använde en extern JVM (på den tiden).
Se även
- ^ a b c HSQLDB-manual
- ^ Bulusu Lakshman (2002). Oracle & Java-utveckling . Sams förlag. sid. 6. ISBN 978-0-672-32117-7 .
- ^ Aurora JVM och dess komponenter , Oracle Corp.
- ^ Rick Greenwald; Robert Stackowiak; Jonathan Stern (2008). Oracle Essentials: Oracle Database 11g . O'Reilly Media, Inc. sid. 323 . ISBN 978-0-596-51454-9 .
- ^ Don Chamberlin (1998). En komplett guide till DB2 Universal Database . Morgan Kaufmann. sid. 565. ISBN 978-1-55860-482-7 . Hämtad 16 november 2012 .
externa länkar
- SQL:2003 SQL/JRT-utkast
- SQL:2003 SQL Standard användardefinierade typer och rutiner från Farrago-dokumentationen