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 :

procédure stockée qui ne fait rien


Sujet :

MS SQL Server

  1. #1
    Membre expert
    Avatar de trotters213
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 571
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 571
    Points : 3 145
    Points
    3 145
    Par défaut procédure stockée qui ne fait rien
    à tous,
    voilà j'ai un problème avec cette procédure stockée :
    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
    /* DELETE a LAYER */
    CREATE PROCEDURE SP_DELETE_LAYER
    @LA_NAME varchar
    AS 
    DECLARE @la_id int ,
    		@ar_id int ,
    		@at_id int 
    SET @la_id = (SELECT LA_ID FROM T_LA_LAYER WHERE LA_NAME=@LA_NAME)
    SET @ar_id = (SELECT AR_ID FROM T_AR_AREA WHERE AR_LA_ID = @la_id)
    SET @at_id = (SELECT AT_ID FROM T_AT_ATTRIBUTE WHERE AT_LA_ID = @la_id)
    DELETE FROM T_CO_COORDINATE WHERE CO_AR_ID = @ar_id
    DELETE FROM T_AL_ATTRIBUTES_LIST WHERE AL_AT_ID = @at_id
    DELETE FROM T_AT_ATTRIBUTE WHERE AT_ID = @at_id
    DELETE FROM T_AR_AREA WHERE AR_ID = @ar_id
    DELETE FROM T_LA_LAYER WHERE LA_ID = @la_id
    GO
    elle ne fait rien et je comprends pas pourquoi.
    J'ai l'impression qu'elle ne récupère pas les 3 variables @la_id, @ar_id et @at_id mais je sais pas comment faire donc si quelqu'un sais .
    Merci d'avance.

  2. #2
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 073
    Points
    19 073
    Par défaut
    ne manquerait-il pas le COMMIT ?

    qu'est-ce que ça donne si tu affiches la valeur des variables ?

    PS : à quoi sert le GO ? dsl je débute

  3. #3
    Membre averti
    Inscrit en
    Mars 2004
    Messages
    425
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 425
    Points : 358
    Points
    358
    Par défaut
    Et si tu donnes une longueur à celui ci
    @LA_NAME varchar
    OS:Win 2000 Pro, WIN XP
    SGBD: MS Sql Server, Oracle
    Environnement: VS.NET 2002, JBuilder
    Web: www.ndestudents.com

  4. #4
    Membre expert
    Avatar de trotters213
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 571
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 571
    Points : 3 145
    Points
    3 145
    Par défaut
    j'ai regardé et apparemment le COMMIT est l'équivalent du GO (le GO exécute une série d'instruction qui sont placées avant lui)
    c'est pas un question digne d'un modérateur/rédacteur ça

  5. #5
    Membre averti
    Inscrit en
    Mars 2004
    Messages
    425
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 425
    Points : 358
    Points
    358
    Par défaut
    Citation Envoyé par trotters213
    j'ai regardé et apparemment le COMMIT est l'équivalent du GO (le GO exécute une série d'instruction qui sont placées avant lui)
    c'est pas un question digne d'un modérateur/rédacteur ça
    Pas de gueule s'il nous plait.

    Le commit est présent lorsqu'on a une transaction
    OS:Win 2000 Pro, WIN XP
    SGBD: MS Sql Server, Oracle
    Environnement: VS.NET 2002, JBuilder
    Web: www.ndestudents.com

  6. #6
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 073
    Points
    19 073
    Par défaut
    Citation Envoyé par trotters213
    c'est pas un question digne d'un modérateur/rédacteur ça
    certes

    Mais je découvre... et le modérateur novice de sql server n'en reste pas moins un modérateur qui veille au grain

  7. #7
    Membre averti
    Inscrit en
    Mars 2004
    Messages
    425
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 425
    Points : 358
    Points
    358
    Par défaut
    Est ce que tu as donné une longueur à ton paramètre en entrée?
    OS:Win 2000 Pro, WIN XP
    SGBD: MS Sql Server, Oracle
    Environnement: VS.NET 2002, JBuilder
    Web: www.ndestudents.com

  8. #8
    Membre expert
    Avatar de trotters213
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 571
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 571
    Points : 3 145
    Points
    3 145
    Par défaut
    Citation Envoyé par trotters213
    c'est pas un question digne d'un modérateur/rédacteur ça
    c'était pas du tout méchant, mais plutôt pour taquiner.
    Revenons au vrai pb : alors oui je lui est donné une longueur et ça à l'air de fonctionner étant donné que j'ai une nouvelle erreur : il me dit simplement que mon AR_ID et AT_ID renvoie plusieur valeurs mais je n'arrive pas à le gérer ça. comment je peux faire?, j'ai mis ça :
    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_DELETE_LAYER
    @LA_NAME varchar(255)
    AS 
    DECLARE @la_id int ,
    		@ar_id int ,
    		@at_id int 
    SET @la_id = (SELECT LA_ID FROM T_LA_LAYER WHERE LA_NAME=@LA_NAME)
    DELETE FROM T_CO_COORDINATE WHERE CO_AR_ID =(SELECT AR_ID FROM T_AR_AREA WHERE AR_LA_ID=@la_id)
    DELETE FROM T_AL_ATTRIBUTES_LIST WHERE AL_AT_ID =( SELECT AT_ID FROM T_AT_ATTRIBUTE WHERE AT_LA_ID=@la_id)
    DELETE FROM T_AT_ATTRIBUTE WHERE AT_LA_ID = @la_id
    DELETE FROM T_AR_AREA WHERE AR_LA_ID = @la_id
    DELETE FROM T_LA_LAYER WHERE LA_ID = @la_id
    mais ça marche pas plus... Je ne vois vraiment pas comment lui dire de me supprimer toutes les valeurs qui lui sont retournés(c'est à dire que s'il en retourne 5, il m'efface les 5)

  9. #9
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 073
    Points
    19 073
    Par défaut
    remplace = par IN si le SELECT peut ramener plusieurs valeurs

  10. #10
    Membre expert
    Avatar de trotters213
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 571
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 571
    Points : 3 145
    Points
    3 145
    Par défaut
    Aaaaaaaaaaaaaahhh voilà, ça c'est du modérateur en puissance

    Merci à toi modo et à annedjomo pour votre aide, ça marche impec'
    Encore merci

  11. #11
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 073
    Points
    19 073
    Par défaut
    ma première bonne réponse sur le forum... j'suis tout ému tiens

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

Discussions similaires

  1. Procédure stockée qui ne renvoie rien
    Par papouuu dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 29/07/2011, 16h51
  2. Procedure stockée d'insertion qui ne fait rien
    Par javaboy dans le forum VB.NET
    Réponses: 5
    Dernier message: 29/04/2008, 14h47
  3. [SQL2K]Procédure stockée qui renvoit deux fois le résultat
    Par neuropathie dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 16/05/2006, 16h38
  4. [Res]Procédure stockée qui fait un insert basé sur un select
    Par wonderliza dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 22/12/2005, 18h25
  5. [debutant]programme qui ne fait rien.
    Par Battosaiii dans le forum Interfaces Graphiques en Java
    Réponses: 10
    Dernier message: 04/12/2005, 22h19

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