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 539 Date d'inscription vendredi 20 mai 2011 Statut Membre Dernière intervention 1 juin 2022 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