Si nous avons créé une vue sur une table DB2 existante, puis supprimez la table. Qu'est-ce qui va arriver à la vue?Qu'arrive-t-il à une vue DB2 existante si la table est supprimée?
1
A
Répondre
1
La vue devient invalide/inopérante. Les tentatives de sélection échoueront.
Pour essayer:
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;
La dernière déclaration donne l'erreur:
[IBM][CLI Driver][DB2/NT] SQL0575N View or materialized query table
"TEST_VIEW" cannot be used because it has been marked inoperative.
SQLSTATE=51024
0
Lorsqu'une vue est invalidée, comme le montre l'exemple ci-dessus, DB2 vous permettra de recréer ce point de vue sans le laisser tomber d'abord. Cela permet de réexécuter les fichiers DDL de votre vue (ou simplement de vider la colonne TEXT de SYSCAT.VIEWS et de l'exécuter).
0
Rien ne s'est passé. N'utilisez pas cette vue. Vous pouvez recréer la table pour réutiliser la vue ultérieurement.
0
Il devient inopérant. Les mêmes informations peuvent être trouvées en utilisant la requête suivante:
SELECT viewscheama,viewname,valid FROM syscat.views
. Pour la vue Perticular, si la colonne "Valide" a une valeur autre que "Y", la vue sera inopérante.