Oracle
select ROW_NUMBER() over (partition by カラムA order by カラムA, カラムB) , カラムA , カラムB from X これで、カラムAが同一なデータ内での行番を取得できる。
daruma> sqlplus 'system/manager as sysdba' SQL*Plus: Release 9.2.0.1.0 - Production on 水 Apr 20 11:20:48 2004Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved. Oracle9i Enterprise Edition Release 9.2.0.4.0 - Production Wit…
表18-1 システム権限 表18-4 オブジェクト権限とその権限によって許可される操作
開発中、一時的に外部キーを無効にしたくなる場合がある。 例えば、大量のデータを流し込むときなど。 そんな場合は下記のようなプロシージャが便利。 無効化するプロシージャ CREATE OR REPLACE PROCEDURE ENABLE_PK_FK IS CURSOR curPK is select * from U…
Oracle PL/SQL 編9 - 動的 SQL、EXECUTE IMMEDIATE、using、into、returning - SAK Streets「EXECUTE IMMEDIATE 」を利用すると、任意の文字列をSQLとして実行することができる。 execute immediate 'select sysdate from dual'; execute immediate 'drop ta…
参照:http://www.shift-the-oracle.com/plsql/utl_file/create-directory.html 1.ディレクトリの用意 osのDBAユーザでログファイル出力先のディレクトリを用意する。 # mkdir /var/log/oracle 2.UTL_FILEの設定 CREATE DIRECTORY HOGE_LOG_DIR AS '/var/log…
sqlplus "user/name@(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=<host>)(PORT=<port>)))(CONNECT_DATA=(SID=<sid>)))" (DESCRIPTION…はtnsname.oraに設定する文字列と同一。</sid></port></host>
Oracle上のIN句を使っているSQLで、実行計画がIN句の引数毎に実行計画が枝分かれしてしまっている場合、ANALYZEコマンドで実行計画が改善されることがある。 -- 表の全データのうちの10%を使用して、統計情報を作成 ANALYZE TABLE テーブル名 ESTIMATE STAT…
Oracle SQLチューニング講座 ■チューニング対象のSQL1実行当たりの実行時間が長いSQLディスク読み取りブロック数が多いSQL適切でない索引や、連結索引の一部を使用している可能性バッファの読み取り数が極端に多いSQL効率の悪い索引を使用している、もしくは…
Oracleのエラーメッセージ検索をFirefoxの右上の検索窓から実行する方法。大阪てきとー日記
http://www.atmarkit.co.jp/fdb/rensai/excel2oracle01/excel2oracle01_1.html
TIMESTAMP WITH TIME ZONE, TIMESTAMP WITH LOCAL TIME ZONEの説明。 TIMESTAMP WITH TIME ZONE:現地時間+タイムゾーン TIMESTAMP WITH LOCAL TIME ZONE:UTC換算の時間(SELECT時はセッションのタイムゾーンに換算) @IT Oracle上のTIMEZONEについて TIMES…
・テクニック 表の結合を極めるチューニング・テクニック Oracleの機能を使って表の結合を高速化するハッシュ結合、ネステッドループ結合、ソート/マージ結合の比較。 条件によって絞られない場合はハッシュ結合、 絞られる場合はネステッドループ結合が有利…
Oracle。 文字列カラムの長さをバイト数、文字数で切り替える。 下記SQL実行後、Oracleの再起動が必要。 バイト数の場合は'BYTE'。 デフォルトは'BYTE'。 文字数定義の場合 alter SYSTEM set NLS_LENGTH_SEMANTICS = 'CHAR' / UPDATE PROPS$ SET VALUE$='CHA…