|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre Expert
![]() Inscription : octobre 2007 Messages : 3 936 ![]() |
Bonjour
Je fais un petit outil pour transferer des éléments d'une base MS Sql vers une base MySql vide Je dois donc creer les nouvelles tables MySQL a partir du Schema MS Sql et transferer les données Pour les tables c'est fait Mais pour les vues je cherche encore comment retrouver la syntaxe de creation des vues existantes Merci pour votre aide
__________________
« Ils ne savaient pas que c'était impossible, alors ils l'ont fait ». (Twain) |
|
|
00
|
|
|
#2 |
![]() ![]() ![]() Frédéric BROUARDExpert SGBDR & SQL Inscription : mai 2002 Messages : 10 931 ![]() |
Tout se trouve dans les vues normalisées INFORMATION_SCHEMA.
Donc :INFORMATION_SCHEMA.VIEW colonne VIEW_DEFINITION. Extrait de mon livre sur SQL : Selon la norme SQL, un serveur de bases de données est composé de catalogues (CATALOG), chacun hébergeant différents schémas (SCHEMA). Tout schéma appartient à un seul propriétaire (utilisateur SQL, en fait identifiant d'autorisé – voir chapitre 8). Un utilisateur peut posséder plusieurs schémas. Chaque catalogue doit inclure un schéma particulier de nom INFORMATION_SCHEMA, dont la particularité est de décrire le contenu de tous les schémas du catalogue, y compris lui-même. En dépit du fait que ce schéma particulier, créé par un utilisateur, porte le même nom que le schéma, il est accessible à tous les utilisateurs par un GRANT implicite de tous les objets à PUBLIC. Les objets constituant le schéma INFORMATION_SCHEMA sont essentiellement des vues (SQL en recense plus d’une centaine), mais on y trouve aussi quelques tables et domaines. Leur lecture permet de rendre compte de la structure complète de tous les schémas de la base. Y sont décrits le catalogue courant, les schémas, les domaines, les types utilisateurs, les tables et vues, et tous les éléments qui les composent : privilèges, assertions, jeux de caractères, collations, translations, langages externes utilisables, routines (fonctions, méthodes, procédures, triggers) et d’autres éléments dont vous pourriez avoir besoin. Pour construire l’ensemble des objets composant ce schéma d’information, SQL propose un autre schéma de nom DEFINITION_SCHEMA, qui contient tous les objets pour créer les informations contenues dans INFORMATION_SCHEMA. Mais, contrairement au schéma d’information, DEFINITION_SCHEMA n’est pas décrit par ses propres objets, il sert simplement de brique de construction à INFORMATION_SCHEMA. 2 Un aperçu de DEFINITION_SCHEMA Le schéma DEFINITION_SCHEMA contient des tables et quelques assertions. Nous donnons à titre d’exemple quelques-unes des tables les plus utiles : Table Contenu USERS Identifiants d’autorisés (utilisateurs SQL et rôles) SCHEMATA Nom des schémas du catalogue DOMAINS Domaines SQL DOMAIN_CONSTRAINTS Contraintes de domaine TABLES Tables et vues VIEWS Vues COLUMNS Colonnes VIEW_TABLE_USAGE Tables utilisées par des vues VIEW_COLUMN_USAGE Colonnes utilisées par des vues TABLE_CONSTRAINTS Contraintes de table Table Contenu KEY_COLUMN_USAGE Colonnes utilisées dans la définition de contraintes PRIMARY KEY, FOREIGN KEY et UNIQUE REFERENTIAL_CONSTRAINTS Contraintes d’intégrité référentielle CHECK_CONSTRAINTS Contraintes de validation : assertions, et contrainte de type CHECK de domaine et de table CHECK_TABLE_USAGE Tables utilisées par une contrainte CHECK CHECK_COLUMN_USAGE Colonnes utilisées par une contrainte CHECK ASSERTIONS Assertions COLLATIONS Collations TRANSLATIONS Translations CHARACTER_SETS Jeux de caractères On y trouve aussi des vues pour décrire les privilèges et les rôles (TABLE_PRIVILEGES, COLUMN_PRIVILEGES, USAGE_PRIVILEGES, ROUTINE_PRIVILEGES, ROLES, ROLE_AUTHORIZATION_DESCRIPTOR), les déclencheurs (TRIGGERS, TRIGGER_TABLE_USAGE, TRIGGER_COLUMN_USAGE, TRIGGERED_UP-DATE_COLUMNS), les routines (ROUTINES, ROUTINE_TABLE_USAGE, ROUTINE_COLUMN_USAGE, PARAMETERS), les types structurés (FIELDS, ELEMENT_TYPES) et enfin les éléments propres à SQL (SQL_FEATURES, SQL_IMPLEMENTATION_INFO, SQL_SIZING, SQL_LANGUAGES). Trois assertions revêtent un intérêt particulier : • UNIQUE_CONSTRAINT_NAME : oblige l’unicité des noms des contraintes (assertions, contraintes de domaine, contraintes de table) dans tout le schéma. • KEY_DEGREE_GREATER_THAN_OR_EQUAL_TO_1 : impose à une contrainte de clé primaire ou d’unicité d’être composée d’au moins une colonne. • EQUAL_KEY_DEGREES : oblige les clés étrangères à avoir le même nombre de colonnes que les clés (primaires ou uniques) qu’elles référencent. ... A +
__________________
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL Site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/ Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp. Blog SQL, SQL Server, modélisation données : http://blog.developpez.com/sqlpro http://www.sqlspot.com : modélisation, conseils, audit, optimisation, formation * * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * * |
|
00
|
|
|
#3 |
|
Membre Expert
![]() Inscription : octobre 2007 Messages : 3 936 ![]() |
Merci SQL_Pro pour ces explications détaillées
Effectivement je regardais trop a l'ouest dans INFORMATION_SCHEMA.TABLES Je vais essayer de bien me coller en tete l'exploitation générale INFORMATION_SCHEMA
__________________
« Ils ne savaient pas que c'était impossible, alors ils l'ont fait ». (Twain) |
|
|
00
|
|
|
#4 |
|
Membre expérimenté
![]() Inscription : octobre 2002 Messages : 654 ![]() |
Bonjour,
Si ta vue ne contient pas trop d'informations par ligne, a+ Soazig |
|
|
00
|
|
|
#5 |
|
Membre Expert
![]() Inscription : octobre 2007 Messages : 3 936 ![]() |
Merci Soazig
Mais sincérement je prefere maitriser l"ensemble dans Information_Schema
__________________
« Ils ne savaient pas que c'était impossible, alors ils l'ont fait ». (Twain) |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com