ORACLE

How to Create Auto Increment Columns in Oracle

http://www.lifeaftercoffee.com/2006/02/17/how-to-create-auto-increment-columns-in-oracle/ ちょっと調べた限りでは、シーケンスとトリガを使えと言うことらしい。 実装自体は、Postgresとあんまり変わんないかな…

Oracle Database 10g Express Edition

Oracleはいつからこんなにインストールが楽になったんだろう、という気が…。 管理用WebアプリがOEMよりもさくさく動いている気もするし。 あと、管理用Webアプリで表を作ろうとしたら、auto increment用のシーケンス、トリガを自動的に作ってくれる機能があ…

Oracle で和暦を表示

http://d.hatena.ne.jp/maluboh/20061016#p1 へ〜なるほど。

あるシステムにおいて、集計処理時にORA-4031が頻繁に出力され…

http://www.insight-tec.com/mailmagazine/ora3/vol192.html そんな状況に陥らないことを祈るけど。

Oracleはこう動いている。

買おっかなぁ…

Excel‐Oracle連携

http://www.atmarkit.co.jp/fdb/index/index-db.html#excel2oracle メモメモ。

表のツリーを書く

まともに動くかな? 追記 一応、動いた。管理者で動かしたら、動かないかも… #!/usr/bin/env ruby require "dbi"class Table attr_reader :name, :parent, :children def initialize(name=nil) @name = name @children = end def set_parent(parent) @parent…

1件だけ取る

SELECT * FROM (SELECT * FROM FOO ORDER BY BAR) WHERE ROWNUM = 1

DECODE関数とSIGN関数の魅力

http://www.mars.dti.ne.jp/~o-shin/new/kowaza/body530.html

OSqlGrid(free版)

http://www.hi-ho.ne.jp/a_ogawa/osqledit/

プロシージャのソースを表示

たぶん忘れると思うのでメモ。 select TEXT from USER_SOURCE where NAME = 'foo' order by LINE

BLOB⇔ファイル

PL/SQLを使ってファイルからBLOBへデータインサートする How to save a BLOB to a file on disk in PL/SQL(下の方) BLOBを使うたびに同じことを調べているような…

AntでのPL/SQLの実行について

http://java2.5341.com/msg/78934.htmlたとえばトリガの作成とか。

参照整合性制約を無効化する。

個人的には、単体テスト時は参照整合性制約をはずしておいたほうが便利だと思う。 declare cursor c_constraint is select UC.TABLE_NAME, UC.CONSTRAINT_NAME from USER_CONSTRAINTS UC where UC.OWNER='HOGE' and UC.CONSTRAINT_TYPE='R'; c_sql number; b…

ロック関連

ロックをつぶせ! http://www.atmarkit.co.jp/fdb/rensai/oraobstacle02/oraobstacle02_1.htmlロックについて http://homepage3.nifty.com/fanta-sista/oracle/47.htmlロック解放のための道具箱 http://kamoland.com/oracle/lockfree2.html全ロックを表示す…

カーソルのスクラップ。

カーソル。 set serveroutput on;declare cursor c_sess is select V_SESS.SADDR from V$SESSION V_SESS; r_sess c_sess%rowtype; begin open c_sess; loop fetch c_sess into r_sess; exit when c_sess%notfound; DBMS_OUTPUT.PUT_LINE(r_sess.saddr); end …

やさしいOracle PL/SQL入門

やさしいOracle PL/SQL入門 (DB Magazine SELECTION)作者: 一志達也出版社/メーカー: 翔泳社発売日: 2002/06メディア: 単行本 クリック: 11回この商品を含むブログ (10件) を見る 最近、電車で読んでる本。PL/SQL自体がシンプルな言語のせいか、サクサク読め…

hello, PL/SQL

とりあえず。 set serveroutput on;begin DBMS_OUTPUT.PUT_LINE('hello, PL/SQL'); end; / hello, PL/SQLfor文。 set serveroutput on;declare cnt number; now date; begin for cnt in 1..10 loop select sysdate into now from dual; DBMS_OUTPUT.PUT_LINE…

制御構造のスクラップ

while文。 set serveroutput on;declare cnt number; now date; begin cnt := 0; while cnt select sysdate into now from dual; DBMS_OUTPUT.PUT_LINE(cnt || ': ' || now); cnt := cnt + 1; end loop; end; / 0: 2005-01-20 12:47:48 1: 2005-01-20 12:47:…

DBMS_OUTPUT.PUT_LINE

以下のコマンドを実行しないと、SQL*PlusではDBMS_OUTPUT.PUT_LINEの結果が表示されないよう。 set serveroutput on;

PL/SQL入門

http://www.t3.rim.or.jp/~buchi/plsql/ http://www.oklab.org/oracle/plsql.html http://homepage2.nifty.com/sak/w_sak3/doc/sysbrd/sak3sql.htm#sq_pl

制約一覧

SQLExceptionのエラーメッセージが分かりにくいので。 select A.OWNER "表の所有者", A.TABLE_NAME "表の名前", B.COLUMN_NAME "列の名前", A.CONSTRAINT_NAME "制約の名前", decode( A.CONSTRAINT_TYPE, 'P', 'PRIMARY KEY制約', 'U', 'UNIQUE制約', 'C', '…

アラートログ監視ツール

http://www.drk7.jp/MT/archives/000024.html

Oracleのロックの話

http://www.seshop.com/se/edu/shikaku/omo/miti/miti_plati13.asp?educat=platinum Oracleマスター取ろうかな…と思いつつ。

Oracleでデッドロックを起こす

1.(セッションA) 子レコードを更新。 update child set foo='bar' where id='C01';2.(セッションB) 親レコードを削除。(セッションBはWAIT) delete from parent where id='P01';3.(セッションA) 子レコードのFKが貼られたカラムを更新。 (デッドロック発…

オラクル見積もりツール

OkamolyZer 見積 http://www.vector.co.jp/soft/win95/business/se334324.html?gめも。

階層問合せ

http://www.sqlpowerpage.co.jp/Sqlcmd/select2.htm便利そう。でも、Oracle以外では使えるのかな?

検索条件のちょっとした違い

ちょっとはまったので。 where to_char(POST_DATE, 'YYYYMMDDHH24') = '2004102405' where POST_DATE = to_date('2004102405', 'YYYYMMDDHH24') ぱっと見、どちらも同じ検索条件に見えたが 2004-10-24 05:00:00〜2004-10-24 05:59:59 2004-10-24 05:00:00 だ…

Oracleの順序のCURRVAL

他のセッションがNEXTVALを取得したら、自身のセッションのCURRVALも増えるもんだと思っていたら違った。 あくまで、自身のセッションのカレント値らしい。 セッションA: SELECT HOGE.CURRVAL FROM DUAL → エラー SELECT HOGE.NEXTVAL FROM DUAL → 1 SELECT …

「ORA-00018 最大セッション数をこえました。」さて、どうする?

どうしましょう…