SQL標準はどこから
SQLはPostgreSQLばかり使っていて標準は少ししか意識していなかったり。 標準化もされていて、SQL99などという名前は聞いたことがあるかもしれないが、今は2003とか2011とかもっと新しいものまである。標準SQLというらしい。 最新版から見ればいいのか、ある程度古いところから差分を追いかけるのがいいのか。 Javaなどのオブジェクト指向に対応したというSQL99あたりから見てみることにしたい。 PostgreSQL 7.3のドキュメントによるとSQLはISO/IEC 9075 Database Language SQLというところが標準らしい。 SQL-92くらいでは実装は最小から大きいところまで分かれていたが大きすぎたので、SQL99ではコアとその他に分けてみたとか。 標準SQL ISO/IEC 9075 Database Language SQL SQL-92 SQL99 Javaなどオブジェクト化対応 SQL:2003 SQL:2011 SQL:2016 あまり関係ないがJDBCにオブジェクトを突っ込めそうなライブラリを作ってみた。 JSONでマッピング系を作っていたので流用した結果 Object → JSON → Map → JDBC(SQL) という変換をかけている。未実装だらけなので(仮)。要望等(謎)ないだろうから完成形にするつもりはあまりない。 GitHub SoftLibD3BIF 動作確認はPostgreSQL 11のみ。 table定義を書かずに主キーなどはアノテーションをクラスに埋めるだけでも可。 そのうちJSONなど中間外して効率化するかもしれない。 EJBとかどうなったんだろか。