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

Langage SQL Discussion :

Procédure stockée et vues


Sujet :

Langage SQL

  1. #1
    Expert éminent

    Avatar de freegreg
    Profil pro
    Inscrit en
    Août 2002
    Messages
    4 376
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Août 2002
    Messages : 4 376
    Points : 8 779
    Points
    8 779
    Par défaut Procédure stockée et vues
    Bonjour

    je cherche dans une procédure stockée à créer une vue, réaliser un traitement dessus puis la supprimer.
    En gros, je me sers de la vue comme d'une table temporaire.
    Déjà est-ce un bon choix ?

    J'ai essayé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    CREATE PROCEDURE SP AS
    BEGIN
       -- Creation
       CREATE VIEW VW
       AS SELECT * FROM T
     
       -- Traitement très compliqué :P
       SELECT * FROM VW
     
       -- Suppression
       DROP VIEW VW
    END
    (Code simplifié bien évidemment)

    Malheureusement cela ne marche pas :
    J'obtiens l'erreur suivante :
    Syntaxe incorrecte vers le mot clé 'VIEW'
    Voilà mes questions :
    - Ai-je le droit de faire cela ?
    - Si oui, que dois-je corriger ?
    - Si non ou s'il y a mieux, comment puis-je faire pour obtenir un fonctionnement équivalent ?

    Merci par avance

  2. #2
    cdu
    cdu est déconnecté
    Membre actif
    Profil pro
    Inscrit en
    Août 2004
    Messages
    196
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 196
    Points : 222
    Points
    222
    Par défaut
    bonjour,
    dans les limites de mes connaissances je dirais que :
    1) pour créer ta vue depuis ta procédure stockée, tu peux utiliser "execute immédiate"
    2) je ne vois pas l'intéret d'une vue dans ton cas
    3) un cursor par contre me semble approprié.

  3. #3
    Expert éminent

    Avatar de freegreg
    Profil pro
    Inscrit en
    Août 2002
    Messages
    4 376
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Août 2002
    Messages : 4 376
    Points : 8 779
    Points
    8 779
    Par défaut
    Merci pour ta réponse
    1) Je regarderai demain dans ce sens
    2) Je ne fais bien evidemment pas qu'un select
    3) Non, un curseur ne m'aidera pas dans ce cas là, enfin je ne vois pas comment.

  4. #4
    Expert éminent

    Avatar de freegreg
    Profil pro
    Inscrit en
    Août 2002
    Messages
    4 376
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Août 2002
    Messages : 4 376
    Points : 8 779
    Points
    8 779
    Par défaut
    Re
    Je suis sous sqlServer (j'aurai dû peut-etre précisé avant, quoi que non puisque ça m'a aidé ), je n'ai pas trouvé d'EXECUTE IMMEDIATE. Par contre, j'ai trouvé un exemple pour Oracle
    http://sheikyerbouti.developpez.com/execute_immediate/
    A priori, cela consiste à mettre l'expression dans une chaine de caractère puis à l'éxécuter.
    J'ai appliqué la même méthode pour sqlServer :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    DECLARE @sql varchar(200)
    SET @sql = 'CREATE VIEW VW ...'
    EXEC(@sql)
    Et ... ça marche

    Je ne sais pas pourquoi, je ne trouve pas ça beau. J'ai l'impression d'être Mr Bricolage
    Bref, je reste à l'écoute d'une autre éventuelle solution mais en attendant, je garde celle là parfaitement fonctionnelle

    Merci encore

Discussions similaires

  1. performances : select, procédure stockée ou vue ?
    Par Benoit_Durand dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 07/02/2011, 14h02
  2. Procédure Stockée et vue
    Par hisy dans le forum Développement
    Réponses: 2
    Dernier message: 14/07/2009, 08h13
  3. besoin de conseil sur les procédures stockées et vues.
    Par zenfantasy dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 28/11/2007, 21h41
  4. Critères dans Vue et Procédures stockées
    Par DMboup dans le forum Projets ADP
    Réponses: 9
    Dernier message: 20/05/2005, 21h55
  5. Vue et procédure stockée
    Par juelo dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 26/01/2004, 15h52

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