J'ai apporté quelques modifications à colonnes dans une table de base de données (augmentation de la taille de varchar), mais je dois avoir la vue de la table rafraîchi pour ramasser ce changement. Dans SQL Server 2005, j'utiliserais le script pour -> alter pour recréer le script pour la vue. J'essaie de comprendre ce que la commande SQL Oracle serait de reconstruire la vue pour afficher le changement de la colonne?Oracle: vue base de données Recréer après avoir modifié la taille de la colonne varchar
1
A
Répondre
1
Si vous le faites:
create table sample_table(text varchar2(10));
insert into sample_table (text) values('text...');
create view sample_view as select * from sample_table;
select * from sample_view;
alter table sample_table modify text varchar2(200);
Vous ne faites rien pour promouvoir ce changement en vue dans la base de données Oracle. Ou vous pouvez utiliser "ALTER VIEW sample_view COMPILE" (comment a écrit @AlexPole ou @devio). Oracle le fait automatiquement lorsque vous utilisez d'abord select sur sample_view après alter table.
6
À moins que votre point de vue restreint explicitement la taille de la colonne, il reprendra automatiquement le changement. Il peut avoir été invalidé par le changement de table mais sera automatiquement recompilé lors de la première utilisation; ou peut être recompilé manuellement avec alter view <view name> compile
.
0
Essayez
ALTER VIEW MyView COMPILE;
Questions connexes
- 1. Récupérer de l'espace dans la table SQL 2005 après avoir modifié le type de données?
- 2. Rechercher la taille d'une base de données dans Oracle
- 3. Postgres: Réduire la taille varchar et tronquer
- 4. Supprimer des données invalides de la colonne VarChar
- 5. comment modifier la valeur de colonne avant de se lier à gridview après avoir récupéré de la base de données?
- 6. Oracle - Nombre de varchar
- 7. Obtenez la taille de UIView après avoir appliqué CGAffineTransform
- 8. Prendre un instantané MySQL et recréer la base de données?
- 9. Synchronisation de la base de données Oracle
- 10. Espace de la base de données Oracle
- 11. restauration de la base de données Oracle
- 12. Taille de la base de données Drupal
- 13. recréer instance dans la classe de base
- 14. insertion de la table de base de données Oracle
- 15. Modifier le type de données varchar en Nombre dans Oracle
- 16. peut renommer la taille de la colonne en taille de fichier provoque un problème dans attachment_fu?
- 17. problème redimensionnement DIV après avoir modifié innerHtml
- 18. Insérer dans la base de données oracle
- 19. Comment optimiser la base de données Oracle?
- 20. comparaison du type de date du jour avec la colonne de jour Varchar dans Oracle
- 21. Schéma de versionnement de la base de données Oracle
- 22. Stockage d'une colonne varchar pré-traitée dans la base de données avec celle d'origine
- 23. Comment recréer une base de données Oracle 9i à partir de fichiers de sauvegarde (fichiers ora)
- 24. Charger à nouveau la vue de table après avoir renvoyé une autre vue
- 25. Oracle exportant SQL de la structure de la base de données
- 26. Outil d'estimation de la taille de la base de données
- 27. Colonne endommagée dans la base de données
- 28. la taille des colonnes de base de données pour les données à base de caractères
- 29. Comment obtenir la nouvelle taille de base de données après des opérations de largage différées?
- 30. Echec de la connexion à la base de données Oracle
salut. Existe-t-il un moyen de vérifier quel changement a causé l'invalidité de la vue? –
@sonic - pas que je suis au courant de la main, mais il peut y avoir quelque chose dans le dictionnaire de données si vous pouvez creuser assez profond. Vous pouvez certainement voir les dépendances pour avoir une idée si un changement peut invalider n'importe quoi. Vous devriez poser cette question comme une nouvelle question, probablement sur [dba.se]. –
merci Alex. Ya j'ai la requête qui montre toutes les dépendances. Mais il y a beaucoup de dépendances et il est difficile de trouver lequel rend l'objet invalide. –