読者です 読者をやめる 読者になる 読者になる

Corredor

ウェブ、プログラミングの勉強メモ。

Oracle DB に接続して SQL を実行する VBScript

SQL*Plus がない環境で Oracle DB を参照したくて、VBScript から DB 接続して SQL を実行するプログラムを作ってみた。 コード 初めに、できあがったコードは以下のとおり。Gist-it で GitHub のコードを埋め込もうとしたんだけどうまくいかなかったので Gi…

Oracle で複数レコードを一気に INSERT する記法を毎回忘れる

こう書く。 INSERT ALL INTO tbl_hoge (id, name, age) VALUES (1, 'Michael', 55) INTO tbl_hoge (id, name, age) VALUES (2, 'Christopher', 77) INTO tbl_hoge (id, name, age) VALUES (3, 'Lea', 55) INTO tbl_hoge (id, name, age) VALUES (4, 'Thomas'…

Oracle でひらがな・全角カタカナ・半角カタカナ変換

英数字の半角・全角変換は TO_SINGLE_BYTE (半角化) や TO_MULTI_BYTE() (全角化) で可能。これに UPPER() (大文字化) や LOWER() (小文字化) を組み合わせれば、LIKE 演算子であいまい検索が可能になる。 しかし、これらはひらがなやカタカナの変換は行って…

Oracle のデータディクショナリの一覧を取得する

データディクショナリとは Oracle データベース内のオブジェクトや各種情報をテーブル形式で取得できる特殊なビュー。 SELECT TABLE_NAME FROM DICTIONARY; でそのデータディクショナリの一覧が取得できる。あとは DESC でカラム名を確認したり、SELECT * で…

Windows7 で Oracle 12c を使う (環境構築)

前回の記事で Windows7 に Oracle12c をインストールした。 neos21.hatenablog.com neos21.hatenablog.com 今回はプラガブル・データベースにユーザを作り、テーブルを1つ作るところまでやってみる。 プラガブル・データベースって何? インストール時に「グ…

Oracle 12c をインストールする

前回の記事で 64bit Windows7 環境に Oracle 12c をインストールするためのファイルをダウンロードした。 neos21.hatenablog.com 今回はその続き。 2ファイルをダウンロードしたら まずは2つの zip ファイルを解凍する。いずれも database フォルダがルート…

Oracle 12c をダウンロードする間に OTN ライセンスについて勉強する

Oracle DB の 12c を個人の Windows7 端末にインストールして、個人的な勉強目的で使おうと思っている。 とりあえずダウンロード Oracle Database ソフトウェア・ダウンロード Oracle Database 12c のダウンロードはコチラから。Oracle にユーザ登録して、「O…

Oracle DB で現在オープンなカーソルを調べるには

手っ取り早く調べるには SELECT * FROM V$OPEN_CURSOR; という SELECT 文で確認できる。 ただしこれは完全に現在の状態が分かるワケではないようで、既に閉じてあるカーソルもしばらく残って見えてしまう。少し間を空けるとたしかに消えるので、簡単な動作確…

PreparedStatement を close しないとカーソルが close されない?:PreparedStatement と ResultSet の関係

前回の続き。 neos21.hatenablog.com Java プログラムで PreparedStatement を使って SQL を発行した時も、Oracle DB 側では内部的にカーソルオブジェクトが生成されていることは分かった。 ではどうして、「ORA-01000 最大オープン・カーソル数を超えました…

PreparedStatement を close しないとカーソルが close されない?:まずは PreparedStatement とカーソルをおさらい

Oracle DB に DBUtils を使う Java プログラムから接続していて、とある処理をさせていたら「ORA-01000 最大オープン・カーソル数を超えました」というエラーが出た。 FAQ - Oracleを使用していると「ORA-01000 最大オープン・カーソル数を超えました」と表…

Oracle DB の全テーブルのレコード数を求める SQL

Oracle には「データディクショナリ」と呼ばれる参照表があり、ユーザやテーブルに関する色々を SQL で検索できる。 例えば SELECT TABLE_NAME FROM USER_TABLES; とすると、Oracle DB にログインしているユーザスキーマの中にある全テーブル名の一覧を SQL …

Oracle DB の SQL*Plus で Spool Log を取る時の定石コマンド

Oracle DB に接続するときに使う SQL*Plus。SQL*Plus の GUI ツールはちょっと使いづらいのと、改行コードの扱いで不具合があったので、普段はコマンドプロンプトから Sqlplus コマンドで使っています。 そんな Oracle の SQL*Plus で DB を覗いている時に、…