pour mon entreprise, j'ai créé une vue qui est utilisée pour l'exportation. Il y a peut-être un problème avec la requête utilisée pour créer cette table.
Voici donc ma question:
Est-il possible d'obtenir la requête que j'ai utilisée pour créer ladite table de visualisation?
Les définitions de vue sont stockées dans le schéma d'informations:
SELECT VIEW_DEFINITION FROM INFORMATION_SCHEMA.VIEWS
WHERE TABLE_NAME = 'yourviewname'
Vous pouvez utiliser la fonction documentée SHOW CREATE VIEW view_name
qui est documenté sur le site officiel de dev.MySQL.com:
Référence:
13.7.5.14 SHOW CREATE VIEW Syntaxe (Version 5.5)
14.7.5.13 SHOW CREATE VIEW Syntaxe (Version 5.7)
mysql> SHOW CREATE VIEW v\G *************************** 1. ligne ******* ******************** Vue: v Créer vue: CRÉER ALGORITHME = NON DÉFINI DÉFINITEUR = `bob` @ `localhost` SQL SECURITY DEFINER VIEW ` v` AS select 1 AS `a`, 2 AS` b` character_set_client: latin1 collation_connection: latin1_swedish_ci
"show create view" vous fournira le DDL pour recréer la vue exactement comme elle est (complète avec l'instruction select).
show create view view_name_here \G
\ G est un format go amélioré (affiche les colonnes verticalement plutôt qu'horizontalement)
Les définitions de vue sont stockées dans la table INFORMATION_SCHEMA.
SELECT VIEW_DEFINITION FROM INFORMATION_SCHEMA.VIEWS WHERE TABLE_NAME = 'viewnamehere'
si vous avez créé une vue "xyz" et après un certain temps, vous avez modifié cette vue, cette requête ci-dessus affichera à la fois la requête utilisée pour créer la vue et la requête pour modifier la vue.
Si vous ne souhaitez que la dernière requête d'affichage, vous pouvez simplement exécuter:
SHOW CREATE VIEW 'viewnamehere'
Cette requête vous montrera toutes les informations sur la vue comme character_set_client, collation_connection, DEFINER etc.