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

Développement SQL Server Discussion :

Problème de création de vue indexée : impossible de lier au schéma


Sujet :

Développement SQL Server

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 105
    Points : 55
    Points
    55
    Par défaut Problème de création de vue indexée : impossible de lier au schéma
    Bonjour,
    Je souhaite indexer une vue pour optimiser son exécution.
    J'ai un message d'erreur "Impossible de lier au schéma vue 'dbo.CLIENT_METROPUB_RE_POINTLEVETOPORESEAU_P'. 'dbo.fZetZprimeTOPO' n'est pas lié au schéma."

    J'ai bien préfixé mes objets par le nom du schéma dbo
    La vue fait référence à une fonction. Est-ce autorisé?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    -- Set the options to support indexed views.
    SET NUMERIC_ROUNDABORT OFF
    GO
     
    SET ANSI_PADDING, ANSI_WARNINGS, CONCAT_NULL_YIELDS_NULL, ARITHABORT,
       QUOTED_IDENTIFIER, ANSI_NULLS ON
    GO
     
    -- Create view with SCHEMABINDING. 
    create view dbo.CLIENT_METROPUB_RE_POINTLEVETOPORESEAU_P 
    with SCHEMABINDING
    as (
    select GID
    	, RS_RE_TRONCON_L
    	, IDENT
    	, Z
    	, PROFONDEUR
    	, GEOM as geometrie
    	, GEOM.STAsBinary ( ) as geometrieWKB
    	, case 
    		when PRECISIONZ is null then 'C'
    		else PRECISIONZ
    		end as PRECISIONZ
    	, CDATE
    	, MDATE
    from dbo.fZetZprimeTOPO ()
    )
    Je vous remercie de votre aide

  2. #2
    Membre expérimenté
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Septembre 2016
    Messages
    731
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2016
    Messages : 731
    Points : 1 416
    Points
    1 416
    Par défaut
    Bonsoir,

    Etes vous sûr que dbo.fZetZprimeTOPO () soit une table ?
    pour moi se serait plutôt une fonction.

    Dans ce cas le message d'erreur est explicite.
    avez vous essayé de modifier la fonction pour la lier au schema ?

    Faire une vue indexée sur une fonction, je n'ai jamais tenté.
    L'effort de mise à jour des données de la vue indexée me parait, par nature, exorbitant.
    Le savoir est une nourriture qui exige des efforts.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 105
    Points : 55
    Points
    55
    Par défaut
    Bonjour,
    oui c'est une fonction.

    Qu'entendez-vous par modifier la fonction pour la lier au schema ?

    Lors de la création de la vue le schéma était bien spécifié
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CREATE FUNCTION [dbo].[fZetZprimeTOPO] ()
    merci de votre aide

  4. #4
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 768
    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 768
    Points : 52 719
    Points
    52 719
    Billets dans le blog
    5
    Par défaut
    Lier au schéma signifie utiliser la directive "with SCHEMABINDING" dans l'entête de la fonction


    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

Discussions similaires

  1. Problème de création de vue
    Par amani1 dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 17/01/2014, 16h34
  2. [10g] Probléme de création de VUE
    Par syrine01 dans le forum SQL
    Réponses: 1
    Dernier message: 28/09/2013, 16h35
  3. [Mysql]Problème de création de vue
    Par cwamgis dans le forum Free
    Réponses: 1
    Dernier message: 18/09/2007, 00h56
  4. Problème de création de vue
    Par valauga dans le forum Administration
    Réponses: 6
    Dernier message: 03/04/2007, 16h34
  5. Problème de création de vue.
    Par pimousse76 dans le forum Langage SQL
    Réponses: 3
    Dernier message: 24/02/2005, 15h14

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