106 DBMS_OUTPUT DBMS_OUTPUTパッケージによって、ストアド・プロシージャ、パッケージおよびトリガーからメッセージを送信できます。このパッケージは、PL/SQLデバッグ情報の表示に特に便利です。 この章では、次の項目について説明します。 DBMS_OUTPUTの使用方法 概要 セキュリティ・モデル 使用上の注意 例外 ルールおよび制限 例 データ構造 表タイプ オブジェクト・タイプ DBMS_OUTPUTサブプログラムの要約 概要 通常、このパッケージは、デバッグに使用されるか、あるいはメッセージとレポート(プロシージャにSQLコマンドDESCRIBEを適用するなどして生成)をSQL*DBAまたはSQL*Plusに表示するために使用されます。 このパッケージに含まれているPUTプロシージャおよびPUT_LINEプロシージャによって、別のトリガー、プロシージャまたはパッ
このTweetを見てたら環境を構築したくなりました。今回はGVimを入れるまでを行います。 VirtualBox、パフォーマンスも良いしフルスクリーンにしつつ Linux だけで暮せば(Windows と何かを交換しなければ)まんま Linux なのでデュアルブートする意味が僕にはほぼ無くなったなぁ。いい時代になった。 pic.twitter.com/0wLW6gDJcM — mattn (@mattn_jp) January 25, 2020 ホストOS: Windows 10 Pro 64bit(1909 18363.592) VirtualBox: 6.0.16 (released January 14 2020) Vagrant: 2.2.6 ゲストOS: ubuntu-18.04LTS Vagrantが対応しているVirtualBoxは下記からご確認ください。 VirtualBo
先日Linusが盛大にZFSを非難したことがインターネット・カーネル界隈の噂を駆け巡った。これをタイトルだけみたり本文をちょっと読んだら「ああ、LinusはZFSが嫌いなんだ」とか「LinuxでZFSを使うべきではない」といった理解をする人が非常に多いだろうと思う。Linusは当然Linuxユーザーにとって大きな影響力を持つ人物であり、多くのLinuxユーザーがこの理解のままでいることになりかねない。公私ともにZFSに頼りっきりになっている私は特にそういう状況は非常に困るし、Canonicalは19.10からUbuntu LinuxでのZFS rootを標準にしようとしているくらいだからもっと困るだろう。複雑な状況になっていると思うので、このニュースの深層を探ってみよう。 まず元スレ 元になったLinusのレスによると、そもそも最近カーネルにドライバのインターフェース変更があってZFSがこ
問い合わせなどの実行結果をファイルに出力する SPOOL は問い合わせやターミナルに表示された出力を指定したファイルに出力するためのコマンド 短縮形は SPO 制限モード(RESTRICT オプション) 2 以上で使用不可 SPOOL コマンド SPOOL コマンドの構文 SPOOL [file_name[.ext] [CREATE | REPLACE | APPEND] SPOOL OFF SPOOL OUT [CREATE | REPLACE | APPEND ] オプションは Oracle 10g からの機能 短縮形 SPO [file_name[.ext] [CRE | REP | APP] SPO OFF SPO OUT SPOOL filname の形式が出力開始設定、SPOOL OFF が出力停止設定となる。SPOOL OUT はプリンタ直接出力命令であるが Windows
こんにちは。shintaniです。 SQLで連番を付与する場合はROWNUMを使う方法が一般的ですが、Oracleでは 「(並び順がバラバラの状態で)select句でrownumが1から付番されてからorder byが実行される」ため、 下記のようにソートが必要な場合には番号の並びが狂う場合があります。 select ROWNUM ,SHAIN_NO ,NYUSHA_NENGETSU from M_SHAIN order by NYUSHA_NENGETSU desc ,SHAIN_NO これを是正する場合には、下記のように「order by で並べ替えてから、それを副問い合わせで検索する」という方法があります。 select ROWNUM ,SHAIN_NO ,NYUSHA_NENGETSU ,SHIMEI from( select SHAIN_NO ,NYUSHA_NENGETSU ,
Oracleで文字列を入れるための項目属性 Oracleのデータベースの項目属性を定義する時、VARCHAR2()があります。 VARCHAR2()は、可変長の文字列です。 ()の中の数字が、挿入できるbyte数となります。 このByte数を超えると、ORA-12899値が大きすぎますというエラーがでます。 では、実際何文字入るのでしょうか。 VARCHAR()とVARCHAR2()は何が違うの? 本論に行く前に、少し余談です。 例えば、MySQLでは文字列の属性としてVARCHAR()があります。 しかし、OracleではVARCHAR2()です。 何故、Oracleは2なのでしょうか? 実は、Oracleも以前はVARCHAR()で定義していました。 しかし、ある時から廃止になり、現在はVARCHAR2()のみが利用されています(経緯不明)。 OracleのVARCHAR2(10)は何
Oracle JDKの配布とサポートが少し前に変更され、Oracle JDKやオラクルのOpenJDKビルド、他プロバイダのOpenJDKビルドを利用する際の権利に関して不透明なところが少なからずあります。無償アップデートや (新規と既存の) 有償サポートモデルがさまざまなベンダから提供される予定もあり、検討の余地があります。このドキュメントには要約バージョン と全詳細がある詳細バージョンのセクションがあります。 要約バージョン今もOracle JDKやオラクルのOpenJDKビルド、他プロバイダのOpenJDKビルドを無償で取得できます (このニュアンスについては以下のコラムや以降のセクションを読んでください)。これは複数のプロバイダがJava SE仕様の実装を提供するからこそ可能となっているのです。 Java SE / OpenJDK / オラクルのOpenJDKビルド / Oracl
軽くぐぐっただけなので間違っているかもしれないが、OracleにはCSV出力の機能なりAPIなりは備わっていない。ただし、SQL*PlusのコマンドであるとかPL/SQLを使うとかでCSV出力は実現出来る。今回のエントリでは、自分が調べられた範囲内でCSV出力の方法を色々試してみようと思う。 試す方法の要約は下記の通り。 PL/SQLでUTL_FILEを使用してCSV出力(ネイティブコンパイル有効) Oracleとは別マシンから、JDBD経由でCSV出力 Oracleとは別マシンから、SQL*PlusでSPOOLを使用してCSV出力 Oracleとは別マシンから、SQL Developerのエクスポート機能を使用してCSV出力 以下では、計測対象のテーブル構成に続き、それぞれの方法のプログラム等を示す。そのあと、実行時間の比較と感想を述べる。 環境 DB CentOS-6.4-x86_64
12月1日から25日間、Japan Oracle User Group (JPOUG)コミュニティに参加する みんなの扉をひとつひとつ開きましょう。 参加にあたってのお願い 師走の風物詩JPOUG Advent Calendarは、参加者ひとりひとりがブログ等への執筆および投稿によって今年を締めくくる“オラクルという単語を中心とした共通のコンテキストで話せる みんなが交流するイベント”です。 執筆していただく内容は、共通のコンテキストで繋がる みんなのアドベントカレンダーに ふさわしい内容であれば“どんなことでもいい”です。 執筆された記事の投稿日の希望がある場合は事前アンケートに日付を記入してください。日付は早い者勝ちとします。 担当していただく日付は対象日付の一週間前までに下の表へ当コミュニティの管理者が記載します。 記事を書いた後には、“お問い合わせ”からメッセージにURLを入力し当
本記事は JPOUG Advent Calendar 2017 の1日目です。 Oracle Database でテーブルのデータを外部に出力するには Data Pump を使うことが一般的ですが、外部システムとデータ連係する場合には CSV 形式のフォーマットで行うことが多いと思います。そこで 2017 年現在だったら CSV 形式の出力にどのような方法があるのか試したときのメモになります。 環境 今回は Oracle Database 12.1.0.2 のプラガブルデータベース(PDB)の SCOTT スキーマの EMP テーブルをエクスポートする場合を想定します。 スキーマは Database 付属のサンプルスキーマ作成スクリプト(utlsampl.sql)で作成します。 $ export TWO_TASK=localhost/pdb $ sqlplus system '@?/rdb
JDBCのメタデータは、データベース(RDB)の(データでなく)定義自体を扱う。 メタデータを利用して、テーブルの項目一覧だとか属性だとかを取得することが出来る。 DatabaseMetaDataはConnectionから取得できる。 ResultSetMetaDataはResultSetから取得できる。 テーブルの項目一覧 プライマリキー項目 レコード一意識別項目 項目の型の取得 [2009-04-10] PreparedStatementの項目の型 [2009-10-25] 自動採番値の取得 [/2010-07-24] テーブルの項目一覧を取得する例 import java.sql.Connection; import java.sql.DatabaseMetaData; import java.sql.ResultSet; Connection conn = ~; DatabaseM
Java Database Connectivity[1] (JDBC)は、Java と関係データベースの接続のためのAPI。ODBCをベースにサン・マイクロシステムズおよび DataDirect が共同で開発していると言われている。そのためドライバのデフォルトの自動コミットの有効化など似ている点も多々ある。 Java においてSQLを使用して、関係データベース管理システム (RDBMS) などと接続する機能を標準化(抽象化)している。 元はJDK 1.0の拡張APIという位置付けであったが、JDK 1.1で正式にJavaの基本SDKに同梱されるようになった。標準的な機能 (API) は Java SE に含まれている。JDBCの規格は Java SDK とは独立して行われており、APIのアップデートは随時行われている。 JDBCを利用する為には、100% Pure Java 製の Apa
CSVファイルからOracleのテーブルへデータを流し込むツール。 大量のinsert文を発行するよりは、断然高速。 データであるCSVファイルや固定長ファイルと、ロード方法を指定するコントロールファイルを用意 して実行する。 (CSVファイルからのロードはこのSQL*Loaderが使えるが、CSV出力には標準的な方法は無いらしくて、select文で加工する方法がよく使われるらしい。 このSQL文をいちいち書くのは少々面倒なので、SQL生成用Excelマクロを作ってみました) コントロールファイル CSVファイルの各項目とテーブルの項目との関連付け等を指定する。 (コントロールファイルをテキストエディタで書くのはけっこう面倒なので、コントロールファイル作成用Excelマクロを作ってみました(CSVファイル用、固定長ファイル用)) 例)emp.ctl: OPTIONS(LOAD=100,SK
はじめに Oracle JDBCドライバのバージョン管理についてまとめます。 できる限り公式の情報に基づいていますが、推測に頼らざるを得なかった箇所はその旨記載しています。 はじめに 手元にあるOracle JDBC ドライバのバージョンはどうやって調べるのか? OTNサイトの Oracle JDBC ドライバのバージョンはどうやって調べるのか? 商用/本番環境で利用する Oracle JDBC ドライバはどこから入手すべきか? Oracle Database と Oracle JDBC ドライバのバージョンの関係 Oracle JDBC ドライバのサポート期間 Oracle JDBC ドライバのJDKサポート Oracle JDBC ドライバはいつリリースされるのか? Oracle JDBC ドライバをアップデートする必要があるのか? まとめ 手元にあるOracle JDBC ドライバの
1 JDBCの概要 この章では、Java Database Connectivity(JDBC)のOracle実装の概要を説明します。次の項目が含まれます。 JDBCの概要 Oracle JDBCドライバの概要 アプリケーションおよびアプレット機能の概要 サーバー側の基本 環境およびサポート このリリースの変更点 JDBCの概要 JDBCは、Javaからリレーショナル・データベースに接続するためのインタフェースを提供するJava標準です。JDBC標準はSun社によって定義され、標準のjava.sqlインタフェースを介して実装されます。このため、各プロバイダは独自のJDBCドライバで標準を実装および拡張できます。 JDBCは、X/Open SQLコール・レベル・インタフェース(CLI)に基づき、SQL92エントリ・レベル標準に準拠しています。 Oracle JDBCドライバの概要 Oracl
7 SQL*Loaderコマンドライン・リファレンス この章では、SQL*Loaderを起動するために使用するコマンドライン・パラメータについて説明します。この章の内容は、次のとおりです。 SQL*Loaderの起動 コマンドライン・パラメータ 終了コードによる結果の検査と表示 SQL*Loaderの起動 SQL*Loaderを起動すると、セッションの特性を確立するために特定のパラメータを指定できます。パラメータは任意の順序で入力できます。オプションとして、カンマで区切ることもできます。パラメータに値を指定するか、場合によっては、値を入力しないでデフォルトを指定できます。 次に例を示します。 SQLLDR CONTROL=sample.ctl, LOG=sample.log, BAD=baz.bad, DATA=etc.dat USERID=scott/tiger, ERRORS=999,
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く