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 :

probleme de procédures stockées


Sujet :

MS SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Juin 2008
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 34
    Par défaut probleme de procédures stockées
    bonjour,
    j'arrive pas à executer ma procedure stockée
    ALTER PROCEDURE [dbo].[InsertAppel]
    @poste BIGINT,
    @destination BIGINT,
    @tel BIGINT,
    @debut DATETIME,
    @fin DATETIME,
    @typeDebut BIGINT,
    @typeFin BIGINT,
    @duree BIGINT
    AS
    BEGIN
    BEGIN Tran
    INSERT INTO appel
    (
    id_Poste,
    id_Telephone,
    id_Destinataire,
    date_debut,
    date_fin,
    type_jour_debut,
    type_jour_fin,
    duree
    )
    VALUES(
    @poste,
    @tel,
    @destination,
    @debut,
    @fin,
    @typeDebut,
    @typeFin,
    @duree
    )
    Select identifiant from appel
    where id_Poste=@poste
    and id_Telephone=@tel
    and id_Destinataire=@destination
    and date_debut=@debut
    and date_fin=@fin
    COMMIT TRAN

    quand je click sur ctrl+F5 le resultat est Commande(s) réussie(s).
    et quand je click sur F5 le resultat est requete terminée avec erreur voici l'erreur:
    Msg 208, Niveau 16, État 6, Procédure InsertAppel, Ligne 40
    Nom d'objet 'dbo.InsertAppel' non valide.

    merci

  2. #2
    Membre expérimenté
    Avatar de Lyche
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2007
    Messages
    2 523
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Janvier 2007
    Messages : 2 523
    Billets dans le blog
    4
    Par défaut
    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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
     
    ALTER PROCEDURE [dbo].[InsertAppel]
    @poste BIGINT,
    @destination BIGINT,
    @tel BIGINT,
    @debut DATETIME,
    @fin DATETIME,
    @typeDebut BIGINT,
    @typeFin BIGINT,
    @duree BIGINT
    AS
    BEGIN
    BEGIN Tran
    INSERT INTO appel
    (
    id_Poste,
    id_Telephone,
    id_Destinataire,
    date_debut,
    date_fin,
    type_jour_debut,
    type_jour_fin,
    duree
    )
    VALUES(
    @poste,
    @tel,
    @destination,
    @debut,
    @fin,
    @typeDebut,
    @typeFin,
    @duree
    )
    Select identifiant from appel
    where id_Poste=@poste
    and id_Telephone=@tel
    and id_Destinataire=@destination
    and date_debut=@debut
    and date_fin=@fin
    COMMIT TRAN
    Rejoignez la communauté du chat et partagez vos connaissances ou vos questions avec nous

    Mon Tutoriel pour apprendre les Agregations
    Consultez mon Blog SQL destiné aux débutants

    Pensez à FAQ SQL Server Ainsi qu'aux Cours et Tuto SQL Server

  3. #3
    Membre Expert
    Avatar de cavo789
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2004
    Messages
    1 797
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 797
    Par défaut
    Ton instruction ALTER PROCEDURE va mettre à jour la définition de ta procédure; déjà existante, dbo.InsertAppel.

    Lorque tu fais F5 et que tu reçois un message "Commande réussie"; cela veut simplement dire que SQL Server a effectivement mis à jour ta procédure.


    Pour exécuter la procédure, tu dois faire un EXEC dbo.InsertAppel et lui passer tes paramètres.

    Un moyen simple de le faire : dans ton explorateur d'objet, fais un clic droit sur ta procédure et choisis l'option Execute. SSMS va te générer un script pour l'exécution. A toi de le compléter avec tes valeurs.

  4. #4
    Membre émérite
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    956
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 956
    Par défaut
    Bonjour,
    Il ne manquerai pas un End à ta procédure stockée?
    Correctement indenté cela donne
    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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    ALTER PROCEDURE [dbo].[InsertAppel]
    	@poste BIGINT,
    	@destination BIGINT,
    	@tel BIGINT,
    	@debut DATETIME,
    	@fin DATETIME,
    	@typeDebut BIGINT,
    	@typeFin BIGINT,
    	@duree BIGINT
    AS
    BEGIN
    	BEGIN Tran
    		INSERT INTO appel
    		(
    			id_Poste,
    			id_Telephone,
    			id_Destinataire,
    			date_debut,
    			date_fin,
    			type_jour_debut,
    			type_jour_fin,
    			duree
    		)
    		VALUES
    		(
    			@poste,
    			@tel,
    			@destination,
    			@debut,
    			@fin,
    			@typeDebut,
    			@typeFin,
    			@duree
    		)
    		SELECT identifiant 
    		FROM appel
    		WHERE id_Poste=@poste
    			AND id_Telephone=@tel
    			AND id_Destinataire=@destination
    			AND date_debut=@debut
    			AND date_fin=@fin
    	COMMIT TRAN
    END
    Le End c'est moi qui l'ai rajouté.
    Sinon ton selectpour récupérer l'identifiant ne me parait pas sain.
    Intéresse toi à @@identity par exemple.
    [edit]
    D'un autre coté, peut-être que ton alter procédure ne fonctionne pas parce que la procédure n'existe pas encore dans ce cas, ce serait plutôt un create.

    La question est qu'est-ce que tu n'arrive pas à faire.
    a/ Executer ta procédure stockée, si oui quel est la syntaxe utilisée pour le faire.
    b/Modifier la procédure stockée
    C/Créer la procédure stockée, si oui remplace Alter par create.
    d/Autre chose dans ce cas précise quoi
    [/edit]
    A+
    Soazig

  5. #5
    Modérateur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2005
    Messages
    5 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5 826
    Par défaut
    Bonjour,

    Intéresse toi à @@identity par exemple
    SCOPE_IDENTITY() est plus précise

    L'erreur suivante :

    Nom d'objet 'dbo.InsertAppel' non valide.
    Montre effectivement que votre procédure stockée n'existe pas déjà.
    Remplacez l'ALTER par un CREATE comme l'a dit Soazig

    @++

Discussions similaires

  1. probleme avec le resultat d'une procédure stockée
    Par pbatty1 dans le forum SQL Procédural
    Réponses: 7
    Dernier message: 24/01/2012, 14h23
  2. Réponses: 6
    Dernier message: 15/09/2010, 18h02
  3. Probleme de caractères avec une procédure stockée
    Par spaukensen dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 27/03/2008, 10h55
  4. Réponses: 9
    Dernier message: 15/10/2007, 10h20
  5. Problemes de resultats d'une procédure stockées
    Par gregb34 dans le forum Oracle
    Réponses: 16
    Dernier message: 09/05/2006, 12h54

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