IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MS SQL Server Discussion :

retrouver la syntaxe de design d'une vue existante


Sujet :

MS SQL Server

  1. #1
    Membre émérite
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Points : 2 498
    Points
    2 498
    Par défaut retrouver la syntaxe de design d'une vue existante
    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

  2. #2
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 901
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 901
    Points : 53 143
    Points
    53 143
    Billets dans le blog
    6
    Par défaut
    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 +

  3. #3
    Membre émérite
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Points : 2 498
    Points
    2 498
    Par défaut
    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

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    956
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 956
    Points : 1 199
    Points
    1 199
    Par défaut
    Bonjour,
    Si ta vue ne contient pas trop d'informations par ligne,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    exec sp_helptext MA_VUE
    a+
    Soazig

  5. #5
    Membre émérite
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Points : 2 498
    Points
    2 498
    Par défaut
    Merci Soazig

    Mais sincérement je prefere maitriser l"ensemble dans Information_Schema

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Design d'une vue
    Par ryodo dans le forum Android
    Réponses: 13
    Dernier message: 29/07/2012, 11h34
  2. Syntaxe de déclaration d'une Vue
    Par mortimer.pw dans le forum Requêtes
    Réponses: 0
    Dernier message: 13/07/2010, 17h01
  3. Appliquer une vue existante à des nouvelles listes.
    Par leon1983 dans le forum SharePoint
    Réponses: 4
    Dernier message: 06/08/2008, 15h20
  4. Erreur syntaxe pour Création d'une vue
    Par MikeV dans le forum Outils
    Réponses: 2
    Dernier message: 05/09/2007, 17h16
  5. Syntaxe auto-jointure dans une vue
    Par Yann dans le forum Langage SQL
    Réponses: 3
    Dernier message: 12/02/2007, 16h25

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo