Aide Procédure stockée SQLserver

Résolu/Fermé
divxovore
Messages postés
7
Date d'inscription
jeudi 20 décembre 2007
Statut
Membre
Dernière intervention
25 novembre 2014
- Modifié par divxovore le 13/05/2012 à 13:24
divxovore
Messages postés
7
Date d'inscription
jeudi 20 décembre 2007
Statut
Membre
Dernière intervention
25 novembre 2014
- 16 mai 2012 à 21:29
Bonjour,

Je souhaiterais créer une procédure stockée qui supprime des données dans n'importe quelle table de ma db.
Dans ma clause where j'aimerais concaténer le nom de ma table passer en paramètre avec 'ID'.
Exemple: Table CATEGORY. Colonne/Clé primaire IDCATEGORY.
Comment puis-je réaliser cela.


CREATE PROCEDURE DEL_INFOS (@Tablename varchar (20), @Val int)
AS
DECLARE @SQL VARCHAR(400);
SET @SQL = 'DELETE FROM ['+@Tablename+'] WHERE ID + ['+@Tablename+'] = ['+@Val+'] '
EXECUTE (@SQL);
GO

Merci d'avance.

2 réponses

Heremion
Messages postés
538
Date d'inscription
vendredi 20 mai 2011
Statut
Membre
Dernière intervention
8 janvier 2018
102
14 mai 2012 à 20:25
Bonjour Divxovore,

La requête écrite ci-dessus te renvoie quoi dans @SQL?

0
divxovore
Messages postés
7
Date d'inscription
jeudi 20 décembre 2007
Statut
Membre
Dernière intervention
25 novembre 2014

16 mai 2012 à 21:29
Voila j'ai trouver la solution à ma requête:

CREATE PROCEDURE DEL_INFOS (@Tablename varchar (20), @Id int )
AS
BEGIN
DECLARE @SQL VARCHAR(200);
DECLARE @Idtmp VARCHAR (10) = @Id;
SET @SQL = 'DELETE FROM '+ @Tablename + ' WHERE ID'+@Tablename+ '=' + @Idtmp;
EXECUTE (@SQL);
END
0