FC2ブログ

まったり開発日誌

embossの工具箱(J2EE Java2 Linux Zaurus C++)

関数内で使用しているオブジェクトがDROPされた場合のパッケージの挙動

関数内で使用しているオブジェクトがDROPされた場合はエラーとなりますが、再度作成されると問題なく動作します。その際に際コンパイルも不要です。


SQL> conn scott/tiger@
接続されました。
SQL> DROP TABLE A;

表が削除されました。

SQL> DROP TABLE B;

表が削除されました。

SQL> DROP SYNONYM S;

シノニムが削除されました。

SQL> DROP VIEW V;

ビューが削除されました。

SQL>
SQL> CREATE TABLE A(
2 NAME VARCHAR2(10)
3 );

表が作成されました。

SQL> CREATE TABLE B(
2 NAME VARCHAR2(10)
3 );

表が作成されました。

SQL>
SQL> INSERT INTO A VALUES('テーブルA');

1行が作成されました。

SQL> INSERT INTO B VALUES('テーブルB');

1行が作成されました。

SQL>
SQL> CREATE SYNONYM S FOR A;

シノニムが作成されました。

SQL>
SQL> CREATE VIEW V AS SELECT NAME FROM S;

ビューが作成されました。

SQL>
SQL> SELECT NAME FROM V;

NAME
----------
テーブルA

SQL>
SQL> DROP SYNONYM S;

シノニムが削除されました。

SQL> CREATE SYNONYM S FOR B;

シノニムが作成されました。

SQL>
SQL> SELECT NAME FROM V;

NAME
----------
テーブルB

SQL>
SQL> CREATE OR REPLACE PACKAGE P IS
2 FUNCTION P RETURN VARCHAR2; END P;
3 /

パッケージが作成されました。

SQL> CREATE OR REPLACE PACKAGE BODY P AS
2 FUNCTION P RETURN VARCHAR2 IS
3 strNAME V.NAME%TYPE;
4 BEGIN
5 SELECT NAME INTO strNAME FROM V;
6 RETURN strNAME;
7 END P;
8 END P;
9 /

パッケージ本体が作成されました。

SQL>
SQL> select P.P from dual;

P
-----------------------------------------------------
テーブルB

SQL>
SQL> DROP SYNONYM S;

シノニムが削除されました。

SQL>
SQL> select P.P from dual;
select P.P from dual
*
行1でエラーが発生 しました。:
ORA-04063: package body "SCOTT.P"にエラーがあります。


SQL>
SQL> CREATE SYNONYM S FOR A;

シノニムが作成されました。

SQL>
SQL> select P.P from dual;

P
-----------------------------------------------------
テーブルA

SQL>
スポンサーサイト
  1. 2005/10/07(金) 18:04:59|
  2. 開発メモ-データベース
  3. | トラックバック:0
  4. | コメント:0
<<PL/SQLで時間を計測する | ホーム | DOSバッチでユーザに値を入力させる>>

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバックURLはこちら
http://emboss.blog28.fc2.com/tb.php/17-9b89f5ad
この記事にトラックバックする(FC2ブログユーザー)

RSSフィード

カレンダー

07 | 2019/08 | 09
- - - - 1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

カテゴリー

最近の記事

最近のコメント

最近のトラックバック

月別アーカイブ

ブロとも申請フォーム

この人とブロともになる

ブログ内検索

リンク

このブログをリンクに追加する

メールフォーム

名前:
メール:
件名:
本文: