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 :

Insertion à partir d'un exécute


Sujet :

MS SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Octobre 2004
    Messages
    154
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 154
    Par défaut Insertion à partir d'un exécute
    Bonjour,

    Je cherche le moyen d'insérer dans une talbe le résultat d'une commande exécute.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    if (@devise) <> '' 	
    	SET @sqlwhere = @sqlwhere + ' and cddevi = '''+ @devise + ''''
     
     
    SET @QUERY = 'select  dtoper, AGGEST, nocpte, nacmpt, intcpt, substring(mtecrtt, 1, 15) as mtecrtt, substring(cddevi, 1, 3) as cddevi, sensec, lbcomp, norgdj from PRODUCTION.FRANCE.CGDBASDEX.CMECELP050 as a  inner join PRODUCTION.FRANCE.CGDBASDEX.FCGCOP0S as b on a.nocpte = b.nocmpt where 1 = 1 ' + @sqlwhere
     
    exec(@query)
    Et quand je fais ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    CREATE TABLE #temp_table (dtoper varchar(15) , AGGEST varchar(5), nocpte varchar(15), nacmpt varchar(5), intcpt varchar(150), mtecrtt float, cddevi varchar(5), sensec varchar(2), lbcomp varchar(150), norgdj varchar(5))
    --Insert  into #temp_table
    --exec(@query)
    J'ai aussi une erreur

  2. #2
    Membre chevronné
    Avatar de m-mas
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2003
    Messages
    576
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2003
    Messages : 576
    Par défaut
    fait une procédure stocké avec table comme valeur de retour et change ta requête (@QUERY) pour qu'elle soit une requête insertion à partir de ton SELECT.

  3. #3
    Membre éprouvé
    Inscrit en
    Mars 2004
    Messages
    126
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 126
    Par défaut
    salut.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    create table #x ( CodeClient Int, Libelle Varchar(50) )
    declare @qry varchar(4000)
    set @qry = 'select top 10 CodeClient, Libelle from Clients'
    insert #x exec( @qry )

  4. #4
    Membre confirmé
    Inscrit en
    Octobre 2004
    Messages
    154
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 154
    Par défaut
    J'ai essayé ceci :

    CREATE TABLE #temp_table (dtoper varchar(15) , AGGEST varchar(5), nocpte varchar(15), nacmpt varchar(5), intcpt varchar(150), mtecrtt float, cddevi varchar(5), sensec varchar(2), lbcomp varchar(150), norgdj varchar(5))
    Insert into #temp_table exec(@query)

    Et voilà l'erreur :

    Serveur : Msg 7391, Niveau 16, État 1, Ligne 1
    L'opération demandée ne peut pas être effectuée car le fournisseur OLE DB 'MSDASQL' n'a pas réussi à démarrer de transaction distribuée.
    [OLE/DB provider returned message: [IBM][Pilote ODBC iSeries Access]Erreur phase DTC. 2]
    Trace de l'erreur OLE DB [OLE/DB Provider 'MSDASQL' ITransactionJoin::JoinTransaction returned 0x8004d00a].

    Merci encore

  5. #5
    Membre éprouvé
    Inscrit en
    Mars 2004
    Messages
    126
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 126
    Par défaut
    salut.
    Chez moi ca marche. Execute la requete dans "Query Analyser". Apres tu le feras ailleurs et tu pourras detecter réellement d'ou vient le problème(j'imagine dans DTS).

Discussions similaires

  1. Insert à partir d'une autre requête
    Par DjyDjy dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 06/03/2007, 21h48
  2. Réponses: 1
    Dernier message: 23/01/2007, 16h57
  3. Réponses: 7
    Dernier message: 03/07/2006, 15h17
  4. Regénérer un code source à partir d'un exécutable
    Par Recorbet dans le forum Windows
    Réponses: 4
    Dernier message: 13/03/2006, 19h11
  5. insert à partir d'un script php
    Par illegalsene dans le forum Oracle
    Réponses: 2
    Dernier message: 05/10/2005, 18h01

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