ホーム > 作業メモ > Oracleメモ

Oracleメモ

Oracle作業のメモ…

sqlplusの出力結果をcsv(ライク)にする

SQL> set linesize 1000
SQL> set pagesize 0
SQL> set trimspool on
SQL> set colsep ‘,’

ファンクション・プロシージャなどの一覧確認

SQL> SELECT * FROM USER_OBJECTS WHERE OBJECT_TYPE=’FUNCTION’;

テーブルの構造確認

SQL> DESC [テーブル名];

トリガ・ファンクション・パッケージ・プロシージャの内容確認

SQL> SELECT TEXT FROM USER_SOURCE WHERE NAME='[オブジェクト名]’ AND TYPE='[オブジェクト種別]’ ORDER BY LINE;

※WHERE区でTYPEを指定しないと、同じ名称のオブジェクトがある場合(PACKAGEとPACKAGE_BODYなど)コードが混ざって悲惨なことにorz

インデックスの内容確認

SQL> select i.table_name, i.index_name, i.uniqueness, c.column_name
from user_indexes i, user_ind_columns c
where i.index_name = c.index_name and i.table_name = ‘[テーブル名]’
order by index_name,table_name,column_position;

インデックスの内容確認

SQL> SELECT TEXT FROM USER_VIEWS WHERE VIEW_NAME='[オブジェクト名]’;

プロシージャ等がINVALIDの場合

DBをインポートした場合など、インポートする順序と依存関係により、ファンクション・プロシージャがINVALIDになる場合がある。
再コンパイルによって有効になる場合もある。DBに格納されたソースを単独でコンパイルする場合以下の構文。
SQL> ALTER hoge [オブジェクト名] COMPILE;
hoge → FUNCTION, PROCEDURE, VIEW, PACKAGE…

カテゴリー: 作業メモ タグ:
  1. コメントはまだありません。
  1. トラックバックはまだありません。