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 :

Pb d'insertion avec sous requette


Sujet :

MS SQL Server

  1. #1
    Futur Membre du Club
    Inscrit en
    Août 2004
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 7
    Points : 6
    Points
    6
    Par défaut Pb d'insertion avec sous requette
    Bonjour a tous et d'avance merci de votre aide.
    voila j'ai pour habitude de me debrouiller a trouver les solutions a mes souci mais la je suis en train de me remetre au developpement et la je bloque sur une requette que je trouve bete.

    voila j'utilise l'analyseur de requette de MS sql pour valider mes requette avant de les metre dans mon code,
    mais voila sur celle si je bloque.

    deja voila la requette
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    INSERT INTO [dbo].[ANIMALERIE]([ID_ANIMAL], [USER_ID], [DEBUT_ANIMAL], [TAILLE_ANIMALERIE], [DATE_PAUSE], [PAUSE], [TAILLE_ANIMALE], [DATE_NOURITURE], [NB_NOURITURE], [TAILLE_ANNIMALERIE_DEPART], [RECOLTEE], [EQUIPEMENT])
     VALUES(1,2, '19/03/2005 09:23:53', 1,'19/03/2005 09:23:53', 0, (select taille_debut from dbo.animaux where id_animal = 1), '19/03/2005 09:23:53' , 0,1, 0,0)
    le truc et que l'analyseur me repond ca
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Serveur : Msg 1046, Niveau 15, État 1, Ligne 1
    Les sous-requêtes ne sont pas autorisées dans ce contexte. Seules sont permises les expressions scalaires.
    lorsque je clique sur validation
    alors frachement je comprend pas du tout ce message.
    en fait c le thermes d'expression scalaires que je connait pas.

    Voila quand meme pour pas passer pour une andouille, j'ai un peut chercher sur le pb.
    est je croit comprendre qu'il faut que j'utilise une proc stocker pour recuperer la valeur souhaiter. mais le vrai souci et que je ne sais pas utiliser les proc stocker pour faire une requette.
    si quelqu'un peut m'aider a faire a faire ma chtite requette pour quelle marche je vous en remercie.

    Ha oui je voulais ajouter 1 truc, cette requette et le resultat d'une chaine en ASP donc certaine valeur sont dynamique comme la valeur "id_animal = 1" voila merci

  2. #2
    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

    tu veux en savoir plus sur les procédures stockées : http://sqlpro.developpez.com/cours/sqlaz/techniques/#L6
    Ces cours sont vraiment très bien fait, complets au possible et c'est vachement bien expliqué

  3. #3
    Futur Membre du Club
    Inscrit en
    Août 2004
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 7
    Points : 6
    Points
    6
    Par défaut
    Bonjour a toi et merci de cette reponse.

    effectivement ta reponse peut deja me servir en partie.
    car elle explique tres bien comment faire une proc stoker pour une insertion, mais comment on fait pour un select pour avoir le retour ??

    merci

  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 oublié de te donner ce lien aussi.
    Mais c'est tout bête : tu fais ton SELECT sans rien de plus (au cas où, tu peux déclarer une variable à laquelle tu affectes le SELECT)
    Tu peux aussi faire un truc de super pratique, t'as la possibilité de récupérer l'id de la valeur que tu viens de rentrer par exemple (si ton id est en auto-increment) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    CREATE PROCEDURE SP_MA_PROC
    @id_crée INTEGER, 
    @valeur_a_insérer INTEGER
    AS
    INSERT INTO T_MA_TABLE VALUES (@valeur_a_insérer)
    SELECT id_crée = @@IDENTITY
    SELECT id_crée
    GO
    au lieu de ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    CREATE PROCEDURE SP_INSERT
    @valeur_a_insérer INTEGER
    AS
    INSERT INTO T_MA_TABLE VALUES (@valeur_a_insérer)
    GO
     
    CREATE PROCEDURE SP_SELECT
    AS
    SELECT MAX(id) FROM T_MA_TABLE
    GO

  5. #5
    Futur Membre du Club
    Inscrit en
    Août 2004
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 7
    Points : 6
    Points
    6
    Par défaut
    je vais regarde ca, je te remercie de ton aide.

  6. #6
    Futur Membre du Club
    Inscrit en
    Août 2004
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 7
    Points : 6
    Points
    6
    Par défaut
    merci j'ai tester, bon c un peut barbar mon code, mais ca marche, je le fignolerais plus tard.

    un grand merci de ton aide.

    heuu par hazard, quelqu'un aurais pas des examen blanc d'archi sql 2000 pour le mcp ( il me manque que celui la a avoir ) merci de votre aide

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

Discussions similaires

  1. Requete INSERT avec sous-requête
    Par nemo67 dans le forum Développement
    Réponses: 4
    Dernier message: 19/09/2011, 14h07
  2. Pb INSERT avec sous requête EXCEPTION JOIN
    Par jean-noel.guillaume dans le forum DB2
    Réponses: 2
    Dernier message: 29/12/2010, 14h32
  3. insertion avec sous requête et ON DUPLICATE KEY
    Par epeichette dans le forum Requêtes
    Réponses: 5
    Dernier message: 05/10/2009, 15h14
  4. Pb insert into sous toad avec sql editor
    Par lightzeus dans le forum Toad
    Réponses: 2
    Dernier message: 02/07/2007, 17h19
  5. [Unix][9i] insert avec des variable ($) sous Korn Shell
    Par weejungle dans le forum Oracle
    Réponses: 1
    Dernier message: 20/09/2006, 12h41

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