時(shí)間:2022-11-13 08:30:02 | 來源:信息時(shí)代
時(shí)間:2022-11-13 08:30:02 來源:信息時(shí)代
使用 Java程序設(shè)計(jì)語言SQL例程類型 : SQL標(biāo)準(zhǔn)的一個(gè)重要組成部分,標(biāo)準(zhǔn)編號為ISO/IEC 9075-13。該標(biāo)準(zhǔn)定義了如何在SQL語言中以SQL調(diào)用例程(SQL-invoked routines)的方式調(diào)用Java語言書寫的靜態(tài)方法,以及如何在SQL語言中以用戶自定義的類型的方式使用以Java語言書寫的類。在SQL:2008中,它的全名為: Information Technology—Database Languages—SQL—Part 13:SQL Routines and Types Using the JavaTM Programming Language(SQL/JRT)。
SQL/JRT是隨著Java編程語言的發(fā)展而逐步發(fā)展出來的,它在SQLJ Group制定的NCITS 331.1—1999 SQL Routines Using the Java Programming Language和NCITS 331.2—2000 SQL Types Using the Java Programming Language的基礎(chǔ)上整理合并到SQL:2008中而正式成為SQL標(biāo)準(zhǔn)的一部分。在SQL:2003中標(biāo)準(zhǔn)的改進(jìn)不多,主要包括對表函數(shù)的支持、允許將DATALINK類型作為函數(shù)的參數(shù)或返回值。由于SQL/JRT和Java平臺(tái)的密切聯(lián)系,標(biāo)準(zhǔn)參考了很多Java平臺(tái)的相關(guān)標(biāo)準(zhǔn),并引用了很多Java平臺(tái)中的概念。
對于數(shù)據(jù)庫管理系統(tǒng)的實(shí)現(xiàn)者來說,要支持在SQL語言中創(chuàng)建、刪除和調(diào)用以Java語言書寫的外部例程和以其他高級語言書寫的外部例程存在較大的區(qū)別。因?yàn)镴ava語言書寫的例程需要運(yùn)行在Java虛擬機(jī)環(huán)境中,不像其他高級語言書寫的例程可以直接在DBMS進(jìn)程的地址空間中運(yùn)行。但對于采用SQL語言的DBMS用戶來說,各種不同形式的SQL調(diào)用例程在語法上沒有明顯的差異,學(xué)習(xí)和掌握它們不用付出太大的代價(jià)。SQL/JRT可以為應(yīng)用開發(fā)帶來一系列的好處,它允許將處理邏輯放到數(shù)據(jù)庫服務(wù)器端,從而可以減少在服務(wù)器和客戶端之間發(fā)送結(jié)果集的代價(jià),也有助于業(yè)務(wù)邏輯的統(tǒng)一管理。它使得應(yīng)用可以復(fù)用以Java語言寫就的函數(shù)庫,并可以跨越不同DBMS和操作系統(tǒng)平臺(tái),從而有利于應(yīng)用的部署。
Java語言書寫的SQL調(diào)用例程和其他語言書寫的SQL調(diào)用例程存在著較大的區(qū)別。采用其他語言書寫的SQL調(diào)用例程一般是以動(dòng)態(tài)庫或類似的形式存在于SQL環(huán)境的系統(tǒng)目錄之外,而采用Java語言書寫的SQL調(diào)用例程則以安裝過的JAR文件的形式存在于SQL環(huán)境的系統(tǒng)目錄之中,而且安裝的JAR文件可能會(huì)引用了其他JAR文件中的類。標(biāo)準(zhǔn)為了處理相關(guān)的問題,還定義了在一個(gè)Java類引用同一個(gè)JAR包或其他JAR包中的類的機(jī)制。
SQL/JRT定義了很多的基本概念,包括Java類名的解析、SQL結(jié)果集、參數(shù)映射、未處理的Java異常、數(shù)據(jù)類型、用戶自定義類型、內(nèi)置過程、權(quán)限、JAR包等。SQL/JRT也根據(jù)Java特性支持的需要,修訂和擴(kuò)充了SQL的一些語法,并對定義模式和信息模式做了擴(kuò)展。最后,SQL/JRT也對標(biāo)準(zhǔn)符合性給出了明確的要求。
客戶&案例
營銷資訊
關(guān)于我們
微信公眾號
版權(quán)所有? 億企邦 1997-2022 保留一切法律許可權(quán)利。