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

Développement SQL Server Discussion :

Delete et insert into dans une même procédure stockée


Sujet :

Développement SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Inscrit en
    Avril 2007
    Messages
    1 247
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 1 247
    Par défaut Delete et insert into dans une même procédure stockée
    Bonjour
    J'ai créée une table sur SQL server et je souhaiterais travailler sur cette table avec une même procédure stockée.
    Ma question est la suivante : Est il possible dans une même procédure stockée de :
    1- supprimer des données avec "delete" ou "truncate"
    2- d'insérer des nouvelles données avec" insert into"

    Merci

  2. #2
    Expert confirmé
    Homme Profil pro
    Responsable Données
    Inscrit en
    Janvier 2009
    Messages
    5 447
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable Données

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5 447
    Par défaut
    Bonjour,
    Oui, c'est possible, d'ailleurs je ne vois pas trop pourquoi ce ne serait pas possible.

    Tatayo.

  3. #3
    Membre éprouvé
    Inscrit en
    Avril 2007
    Messages
    1 247
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 1 247
    Par défaut
    Bonjour Tatayo
    voila le debut de ma procedure stockée avec la creation de ma table.
    Mais l'insertion de la valeur" tintin" ne se fait pas dans ma la table TblCAB.

    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
    USE [Customer]
    GO
     
    Create PROCEDURE [dbo].[MAJ_TableCAB] -- Creation de la procedure
     
    AS
    BEGIN
    SET NOCOUNT ON;
     
     
    IF OBJECT_ID(TblCAB) IS NOT NULL DROP TABLE TblCAB -- si la table  existe alors on la supprime
     
     
    --Création de la table  "TblCAB"
    CREATE TABLE TblCAB (
        CAB varchar(30)
      )
     
    --Inserer les données dans la table  "TblCAB"
    INSERT INTO TblCAB (CAB)
    Values('TINTIN')
     
    END

  4. #4
    Expert confirmé
    Avatar de Mat.M
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    8 540
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 8 540
    Par défaut
    je ne comprends pas trop l'intérêt de créer la table à chaque fois dans la procédure stockée.
    En général on la crée une bonne fois pour toute.

  5. #5
    Membre éprouvé
    Inscrit en
    Avril 2007
    Messages
    1 247
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 1 247
    Par défaut
    Bonjour Mat,
    Si je crée une table dans la procédure stockée c'est que cette table est une table temporaire où les données seront supprimée et remplacé par d'autres données.

  6. #6
    Expert confirmé
    Homme Profil pro
    Responsable Données
    Inscrit en
    Janvier 2009
    Messages
    5 447
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable Données

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5 447
    Par défaut
    Bonjour,
    Quel est le SGBD utilisé (je dirai SqlServer, mais quelle version) ?

    Je viens de faire le test, pour que ta procédure fonctionne j'ai du faire une petite correction :

    Code sql : 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
     
    USE [Customer]
    GO
     
    Create PROCEDURE [dbo].[MAJ_TableCAB] -- Creation de la procedure
     
    AS
    BEGIN
    SET NOCOUNT ON;
     
     
    IF OBJECT_ID('TblCAB') IS NOT NULL DROP TABLE TblCAB -- Ici j'ai du mettre le nom de la table entre guillemets.
     
     
    --Création de la table  "TblCAB"
    CREATE TABLE TblCAB (
        CAB varchar(30)
      )
     
    --Inserer les données dans la table  "TblCAB"
    INSERT INTO TblCAB (CAB)
    Values('TINTIN')
     
    END

    La table est bien créée, et la ligne ajoutée.
    Si je modifie la requête pour mettre une autre valeur, ça fonctionne aussi, l'ancienne valeur est supprimée et la nouvelle ajoutée.

    Tu nous indiques que le code présenté est "le début de la procédure", donc il est tout à fait possible que le problème vienne d'une autre partie du code.

    Tatayo.

Discussions similaires

  1. Insert Into dans une même page que la création de la table
    Par keke21410 dans le forum Langage SQL
    Réponses: 1
    Dernier message: 19/07/2010, 09h56
  2. count + insert into = dans la même requête
    Par fatima ezzahra dans le forum Requêtes
    Réponses: 2
    Dernier message: 01/04/2008, 16h25
  3. INSERT INTO dans une table vide
    Par DeepXtaZy dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 22/06/2007, 08h37
  4. Recordset pour INSERT INTO dans une table vide
    Par tAKAmAkA dans le forum VBA Access
    Réponses: 12
    Dernier message: 09/02/2007, 20h52
  5. Insert Into dans une table avec select
    Par smail25 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 15/12/2006, 13h06

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