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 :

[SQl 2000] [TSQL] Procédures stockées dynamiques


Sujet :

MS SQL Server

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 2
    Points : 2
    Points
    2
    Par défaut [SQl 2000] [TSQL] Procédures stockées dynamiques
    Bonjour,

    Je voudrais réaliser une procédure stockée dynamique dans le sens où je voudrais que mes requetes sql dedans soit dynamique.
    Le problème c'est que j'ai une erreur et je n'arrive pas à m'en débarasser et je sais plus quoi faire !!

    Alors voici l'erreur
    Serveur : Msg 245, Niveau 16, État 1, Procédure insertion_donnee, Ligne 24
    [Microsoft][ODBC SQL Server Driver][SQL Server]Erreur de syntaxe lors de la conversion de la valeur varchar ' SELECT * FROM Test WHERE ID_Entite = ' vers une colonne de type de données int.

    Et voici mon code :

    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
     
     
    declare Mycursor1 Cursor 
    for select ID_Entite from Test 
    open Mycursor1
    fetch Mycursor1 into @ID_Entite
    while @@fetch_Status = 0
    Begin
     
    Set @SQL =    ' SELECT * FROM '+ @TableName + ' WHERE '+ @nom_Colonne  + ' =  ' + @ID_Entite 
     
    exec(@SQL)
    insert into TEST_ID (ID_Entite_Test, Valeur)  values ( @ID_Entite, @marequete) 
    if(@valeur != null)
    begin
    insert into Donnee_Essais (ID_Source,ID_Type_Donnee_Heritiere, ID_Donnees_Historiques, Dynamique, ID_Entite, ID_Propriete_Entite )
    values (@ID_Source, @ID_Type_Donnee_Heritiere, @ID_Type_Donnees_Historiques, @Dynamique, @ID_Entite, @ID_Propriete_Entite)
    end
    fetch Mycursor1 into @ID_Entite
    END
    CLOSE Mycursor1 
    DEALLOCATE Mycursor1
    Donc voilà si vous pouvais m'aider à faire partir cette erreur !!

    Merci

  2. #2
    Rédacteur/Modérateur

    Avatar de Fabien Celaia
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Octobre 2002
    Messages
    4 224
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2002
    Messages : 4 224
    Points : 19 566
    Points
    19 566
    Billets dans le blog
    25
    Par défaut
    Commencez par déclarer votre variable @SQL

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    declare @SQL varchar(200)
    Sr DBA Oracle / MS-SQL / MySQL / Postgresql / SAP-Sybase / Informix / DB2

    N'oublie pas de consulter mes articles, mon blog, les cours et les FAQ SGBD

    Attention : pas de réponse technique par MP : pensez aux autres, passez par les forums !

  3. #3
    Membre éprouvé
    Avatar de HULK
    Inscrit en
    Juillet 2003
    Messages
    1 276
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 276
    Points : 1 281
    Points
    1 281
    Par défaut
    A mon avis les variables sont declarées, sinon il aurait pas pu executer sa prod

    si ton @ID_Entite est declaré en int il faut faire ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Set @SQL =    ' SELECT * FROM '+ @TableName + ' WHERE '+ @nom_Colonne  + ' =  ' + CAST(@ID_Entite as varchar(10))
    tu peux pas concatener une varchar (@SQL) et un int (@ID_Entite)
    j'suis vert !

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    Merci HULK ça marche c super

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 28/11/2014, 10h47
  2. [SQL Server 2005] Procédure stockée dynamique ?
    Par nitrous007 dans le forum MS SQL Server
    Réponses: 13
    Dernier message: 20/12/2006, 13h54
  3. procédures stockées dynamiques
    Par Chucky69 dans le forum MS SQL Server
    Réponses: 11
    Dernier message: 30/12/2005, 18h51
  4. Appel d'un script SQL dans une procdure stockée
    Par doudou10000 dans le forum Oracle
    Réponses: 10
    Dernier message: 01/12/2004, 10h01

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