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 :

Drop View avec paramètre


Sujet :

MS SQL Server

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

    Informations forums :
    Inscription : Avril 2006
    Messages : 94
    Points : 48
    Points
    48
    Par défaut Drop View avec paramètre
    Bonjour,

    Sous SQL 2000, j'essaye d'ecrire une procédure qui me récupére le nom de certaines vues selon des critères puis me les supprime.
    Pour la récupération des noms, pas de pb mais c'est pour les supprimer que cela pose problème :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    DECLARE @LeNomObjet 	VARCHAR(255)
    DECLARE LeCurseur 	CURSOR FOR
    SELECT 	s.name AS LeNomObjet
    FROM  	sysobjects s 
    WHERE .......
    OPEN LeCurseur
    FETCH NEXT FROM LeCurseur INTO @LeNomObjet
    WHILE @@fetch_status = 0
    BEGIN
    	drop view [dbo].[@LeNomObjet]
    END
    CLOSE LeCurseur
    DEALLOCATE LeCurseur
    GO
    J'obtiens l'erreur "la vue 'dbo.@LeNomObjet' ne peut pas etre supprimé car elle n'existe pas "
    Comment modifier ma procédure ?

    Merci d'avance

  2. #2
    Membre chevronné Avatar de Jinroh77
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Février 2006
    Messages
    1 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Février 2006
    Messages : 1 964
    Points : 2 145
    Points
    2 145
    Par défaut
    Tu ne peux pas utiliser le drop view sur une variable.
    Il faut passer par du SQL Dynamique :
    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
     
    DECLARE @SQLTxt         VARCHAR(255)
    DECLARE @LeNomObjet 	VARCHAR(255)
    DECLARE LeCurseur 	CURSOR FOR
    SELECT 	s.name AS LeNomObjet
    FROM  	sysobjects s 
    WHERE .......
    OPEN LeCurseur
    FETCH NEXT FROM LeCurseur INTO @LeNomObjet
    WHILE @@fetch_status = 0
    BEGIN
             SELECT @SQLTxt = 'DROP VIEW dbo.' + @LeNomObjet +''
             EXEC (@SQLTxt)
     
    END
    CLOSE LeCurseur
    DEALLOCATE LeCurseur
    GO

Discussions similaires

  1. View avec paramètre
    Par yass dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 19/09/2012, 13h09
  2. [PL/SQL] Curseur avec Paramètre
    Par blids dans le forum Oracle
    Réponses: 5
    Dernier message: 10/10/2004, 20h07
  3. ALTER VIEW avec condition
    Par yan77 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 05/04/2004, 17h22
  4. Réponses: 3
    Dernier message: 21/05/2003, 11h44
  5. Tree View avec XML et XSL
    Par Drooxy dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 22/04/2003, 10h21

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