1

既存のDB2テーブルにビューを作成してから、そのテーブルをドロップした場合。ビューはどうなりますか?

4

4 に答える 4

1

ビューが無効/操作不能になります。そこから選択しようとすると失敗します。

それを試すには:

create table TEST_TABLE (
TEST_COL INTEGER
);

INSERT INTO TEST_TABLE VALUES(1);

SELECT * FROM TEST_TABLE;

create view TEST_VIEW AS
SELECT * FROM TEST_TABLE;

SELECT * FROM TEST_VIEW;

DROP TABLE TEST_TABLE;

SELECT * FROM TEST_VIEW;

最後のステートメントでエラーが発生します。

[IBM][CLI Driver][DB2/NT] SQL0575N  View or materialized query table
"TEST_VIEW" cannot be used because it has been marked inoperative.
SQLSTATE=51024
于 2009-03-13T15:31:55.433 に答える
0

上記の例に示されているように、ビューが無効化されると、DB2 では、最初にそのビューをドロップすることなく、そのビューを再作成することができます。これにより、ビュー DDL ファイルを再実行できます (または単に SYSCAT.VIEWS の TEXT 列をダンプして実行します)。

于 2009-06-18T03:31:45.417 に答える