2010年10月22日

ログインしているデータベース名を取得する。

前提として以下のようなデータベース環境だとする
データベース環境名:database01
データベース環境名:database02
データベース環境名:database03

SQL*PLUSで以下の環境に接続する。

CONN ユーザー名/パスワード@database01

データベース環境表示スクリプト
-----------------------------
SELECT NAME
FROM V$DATABASE;
-----------------------------
(結果)
NAME
-----------------------------
database01
-----------------------------
posted by ピラクル at 09:36| Comment(0) | TrackBack(0) | SQLテクニック

2010年03月02日

パッケージの確認と削除

【パッケージの確認文】

select * from user_objects
where object_type = 'PACKAGE BODY';

commit;


【パッケージの削除文】

drop package body パッケージ名;
posted by ピラクル at 10:03| Comment(0) | TrackBack(0) | SQLテクニック

2010年02月24日

指定の文字列を置換する REPLACE関数

SELECT REPLACE(
      項目名,
      '置換する文字',
      '置換後の文字'
)
FROM TABLENAME;


例)項目名KOUMOKUが「XXXYYYZZZ」だったとする。

SELECT REPLACE(KOUMOKU,'Y','*')
FROM TABLENAME;

結果:XXX***ZZZ
posted by ピラクル at 18:11| Comment(0) | TrackBack(0) | SQLテクニック

出力項目を結合する(文字列の結合) ||

出力項目を || 縦の棒二本で結合できる


SQL===========================

SELECT XXX || YYY
FROM TABLENAME ;

結果============================

XXXの文字列とYYYの文字列が結合される。
例)XXX→HELLO YYY→WELCOM
ならば
HELLOWELCOM
と出力

===============================


concat()関数を使っても同様の結合が出来る


concat(XXX,YYY)
posted by ピラクル at 17:50| Comment(0) | TrackBack(0) | SQLテクニック

2010年02月18日

DB内のテーブル名を確認する

以下のSQLで全てのDB内のテーブル名が取得できる

SELECT TABLE_NAME
FROM ALL_TABLES



現在、ログイン中のユーザーのテーブル名は「USER_TABLES」

SELECT TABLE_NAME
FROM USER_TABLES



テーブル名を指定する「WHERE」句も使用可能

SELECT TABLE_NAME
FROM ALL_TABLES
WHERE TABLE_NAME like '%検索したいテーブル名%'



「TAB」でも可!スキーマテーブル名の表示

SELCT TABLE_NAME
FROM TAB
;
posted by ピラクル at 13:00| Comment(0) | TrackBack(0) | SQLテクニック

2010年02月12日

DBリンクについて

1つのSQLから違う環境へDBリンクを使って問合せできる。


■どの環境へDBリンクが使用可能か調べる

SELECT *
FROM ALL_DB_LINKS
;

上記SQLで他環境へのリンク名「DB_LINK」が表示されるので


SELECT *
テーブル名+「@」+「DB_LINK」
WHERE ・・・
;


でテーブルを取得できる。


例)「001」という環境の「USER」テーブルを参照したいとき
「001」環境へのリンク名が「DB001」だったとする

SELECT *
FROM USER@DB001
;

posted by ピラクル at 12:03| Comment(0) | TrackBack(0) | SQLテクニック