www.wikidata.uk-ua.nina.az
PL Java yavlyaye soboyu bezkoshtovnij dodatkovij modul yakij predstavila Java dlya napisannya zberezhenih procedur trigeriv i funkcij na vnutrishnomu interfejsi PostgreSQL Rozrobka pochalasya v kinci 2003 i pershij vipusk PL Java vipushenij v sichni 2005 roku pid licenziyeyu PLJava Zmist 1 Vlastivosti PL Java 2 Napisannya funkcij na PL Java 2 1 SQL Ogoloshennya 2 2 NULL Obrobka 2 3 Kompleksni tipi 3 Vikoristannya JDBC 4 PrimitkiVlastivosti PL Java red Uminnya pisati funkciyi trigeri viznacheni koristuvachem tipi z vikoristannyam ostannih versij Java Standartizovani utiliti shob vstanoviti i pidtrimuvati Java kod v bazi danih Standartizovani vidobrazhennya parametriv i rezultatu Pidtrimka skalyarnih i skladovih tipiv viznachenih koristuvachem UDT psevdo tipi masivi i nabori Vbudovanij visokoproduktivnij drajver JDBC yakij vikoristovuye vnutrishni proceduri PostgreSQL SPI Pidtrimka metadanih dlya drajvera JDBC Obidvi DatabaseMetaData i ResultSetMetaData vklyucheni Integraciya z PostgreSQL Mozhlivist vikoristovuvati parametri IN INOUT i OUT 1 Napisannya funkcij na PL Java red SQL Ogoloshennya red Funkciya Java ogoloshuyetsya z im yam klasu i statichnim metodom z cogo klasu Klas bude virishenij za dopomogoyu shlyahu do klasiv yakij buv viznachenij dlya shemi de funkciya ogoloshena Yaksho shlyahu do klasiv ne bulo viznacheno dlya ciyeyi shemi vikoristovuyetsya zagalna shema Nastupna funkciya mozhe buti ogoloshena dlya dostupu statichnogo do metodu GetProperty v klasi java lang System CREATE FUNCTION getsysprop VARCHAR RETURNS VARCHAR AS java lang System getProperty LANGUAGE java Vikonajte nastupnu komandu shob povernuti vlastivist Java user home SELECT getsysprop user home NULL Obrobka red Skalyarni tipi yaki zistavlyayutsya v Java primitivah ne mozhut prijmati yak znachennya NULL Shob peredati NULL znachennya ci tipi mozhut mati alternativne vidobrazhennya Vi vklyuchayete ce vidobrazhennya yavno poznachivshi jogo yak etalonnij metod CREATE FUNCTION trueIfEvenOrNull integer RETURNS bool AS foo fee Fum trueIfEvenOrNull java lang Integer LANGUAGE java Kod Java bude shozhij na ce package foo fee public class Fum static boolean trueIfEvenOrNull Integer value return value null true value intValue 1 0 Nastupni tverdzhennya obidva dayut znachennya true SELECT trueIfEvenOrNull NULL SELECT trueIfEvenOrNull 4 Dlya togo shob povernuti NULL znachennya z metodu Java vi vikoristovuyete tip ob yekta yakij vidpovidaye primitivu napriklad vi povertayete java lang Integer zamist int Oskilki Java ne mozhe mati rizni tipi dlya metodiv z tim zhe im yam ce ne vnosit bud yakih dvoznachnostej Kompleksni tipi red Kompleksnij tip zavzhdi bude peredavatisya dlya chitannya java sql ResultSet rivno z odnogo ryadka ResultSet roztashovanij na comu ryadku tomu viklik do next ne bude zrobleno Znachennya kompleksnogo tipu vityaguyutsya za dopomogoyu standartnih metodiv otrimannya ResultSet Priklad CREATE TYPE complexTest AS base integer incbase integer ctime timestamptz CREATE FUNCTION useComplexTest complexTest RETURNS VARCHAR AS foo fee Fum useComplexTest IMMUTABLE LANGUAGE java U klasi Fum Java mi dodamo nastupnij statichnij metod public static String useComplexTest ResultSet complexTest throws SQLException int base complexTest getInt 1 int incbase complexTest getInt 2 Timestamp ctime complexTest getTimestamp 3 return Base base incbase incbase ctime ctime Vikoristannya JDBC red PL Java mistit drajver JDBC yakij zistavlyaye funkciyi PostgreSQL SPI Z yednannya sho perevodit do potochnoyi tranzakciyi mozhe buti otrimane za dopomogoyu nastupnogo operatora Connection conn DriverManager getConnection jdbc default connection Pislya otrimannya spoluki vi mozhete pidgotuvati i vikonuvati instrukciyi podibni inshim JDBC z yednannyam Obmezhennya dlya drajvera PL Java JDBC Tranzakciya ne mozhe upravlyatisya bud yakim chinom Takim chinom vi ne mozhete vikoristovuvati metodi z yednannya taki yak commit rollback setAutoCommit setTransactionIsolation Tochki zberezhennya dostupni z deyakimi obmezhennyami Tochka zberezhennya ne mozhe perezhiti funkciyu v yakij vona bula vstanovlena Rezultuyuchij nabir z ExecuteQuery zavzhdi FETCH FORWARD i CONCUR READ ONLY Meta dani dostupni tilki v PL Java 1 1 abo vishe CallableStatement dlya zberezhenih procedur ne vikonuyetsya 2 Primitki red tada pljava GitHub angl Arhiv originalu za 26 sichnya 2018 Procitovano 22 travnya 2017 Greenplum PL Java Language Extension Greenplum Database Docs greenplum org Arhiv originalu za 1 travnya 2017 Procitovano 22 travnya 2017 Otrimano z https uk wikipedia org w index php title PL Java amp oldid 39452831