Aide Procédure stockée SQLserver

Résolu
divxovore Messages postés 7 Date d'inscription   Statut Membre Dernière intervention   -  
divxovore Messages postés 7 Date d'inscription   Statut Membre Dernière intervention   -
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   Statut Membre Dernière intervention   102
 
Bonjour Divxovore,

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

0
divxovore Messages postés 7 Date d'inscription   Statut Membre Dernière intervention  
 
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