tkprof
desc
1つのSQL文で複数の表にINSERTする絶品テクニック(1/2) - @IT
SELECT * FROM DUAL@[DBLINK名]
execute [プロシージャ名]@[DBLINK名]('引数')
http://www6.airnet.ne.jp/~dr_mkag/Oracle/plsql/sndmil.html
http://www.geocities.jp/hacker_musasi/plsql/plsql_commit.html
http://www.seshop.com/se/edu/shikaku/omo/miti/miti_plati10.asp?educat=platinum
http://www.mars.dti.ne.jp/~o-shin/new/kowaza/body1720.html
http://otn.oracle.co.jp/cgi-bin/non/msgview_r.cgi?communityid=otn-489965&bbsid=1&no=41567&view=8
http://www.alato.ne.jp/kazu-/vb/oracle_tip.htm
参考サイト
http://homepage2.nifty.com/sak/w_sak3/doc/sysbrd/sak3sql.htm
http://www.geocities.jp/principal_focus/
実際はOracleマニュアルの方が詳しい
簡易Tips
いわゆるprint文
- sqlplusでは
prompt text
PL/SQLでは、
BEGIN dbms_output.put_line ('text...'); END
エラー時のメッセージ
- sqlerrm
タブ:CHR(9) LF:chr(10) CR:chr(13)
右に文字列を埋める
- select rpad(ename,20,' *') from emp;
SQLCODEよりメッセージを求める
- errmsg := sqlerrm(SQLCODE);
西暦和暦変換
元号のカスタマイズはLXEGENを利用する。
id型
postgresのserial,mysqlのid型をOracleで実現
Life After Coffee » How to Create Auto Increment Columns in Oracle
CREATE TABLE test (id NUMBER PRIMARY KEY, name VARCHAR2(30));
CREATE SEQUENCE test_sequence START WITH 1 INCREMENT BY 1;
CREATE OR REPLACE TRIGGER test_trigger BEFORE INSERT ON test REFERENCING NEW AS NEW FOR EACH ROW BEGIN SELECT test_sequence.nextval INTO :NEW.ID FROM dual; END; /
INSERT INTO test (name) VALUES ('Jon'); INSERT INTO test (name) VALUES (’Bork’); INSERT INTO test (name) VALUES (’Matt’); SELECT * FROM test;
JavaからPL/SQL
http://www.ki.rim.or.jp/~kuro/Java/JDBC/JDBC-03.html
PL/SQLからJavaの呼び出し
コレクションタイプ
バックアップ・リカバリー
RMAN によって行う RecoveryManager ユーザーズ・ガイドおよびリファレンス リリース 参照
PL/SQLとShell
CODE_NUMBER=` sqlplus -s xxx/xxx << EOF set heading off set feedback off variable a number execute test(:a) print a EOF
関連リンク
http://homepage3.nifty.com/eien-factory/TechNote/004.html
公式
公式サポートはサポート料金が必要です。酷いプログラムを作成するよりは、おそらくサポート料金は安いと思います。(個人ではちょっと高いですが、、)
非公式
http://www.linux.or.jp/JF/JFdocs/Oracle-8-HOWTO.html
書籍
Expert One-On-One Oracle (The Expert's Voice)