Passer le nom de table comme parametre a une procedure stockée
Bonjour ,
Jai besoin de connaitre comment passer un nom du table a une procedure stocker comme parametre
j'ai essyer mais ca marche pas aidez moi et merci d'avance
voici mon example
Code:
1 2 3
| Create proc afficher (@Nom_Table varchar(80)
as
select * from @Nom_Table |
Probleme pour passer le nom d'une Table en paramètre de ma procedure stockée
Bonjour,
j'ai un probleme pour passer le nom d'une Table en paramètre de ma procedure stockée sur SQL server 2005.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
| USE [Guerbet_Lanester]
GO
/****** Objet*: StoredProcedure [dbo].[Maj_FMA] Date de génération du script*: 01/06/2010 16:28:26 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[Maj_FMA]
@Table SYSNAME,
@Trig int,
@Lots nvarchar(50),
@Mesure real,
@Tache real,
@Phase real,
@Id reaL
AS
DECLARE @Un int, @zero int, @Sql1 nvarchar(1000), @Sql2 nvarchar(1000)
SET @zero=0
SET @Un=1
IF @Trig=0 /* SUR FRONT DESCENDANT DU TRIGGER */
BEGIN
SET @sql1 = 'UPDATE ' + @Table + ' SET ' + @Table + '.MesureFin = ' + @Mesure + ',' + @Table + '.id = ' + @zero + ' FROM' + @Table + ' WHERE (' + @Table + '.id = ' + @Un +');'
EXEC spexecuteSQL @sql1
END
ELSE /* SUR FRONT MONTANT DU TRIGGER */
BEGIN
SET NOCOUNT ON
SET @sql2 = 'INSERT INTO ' + @Table + '(Num_Lot,MesureDeb,Tache,Phase,id) SELECT ' + @Lots + ' AS Expr1, '+ @Mesure + ' AS Expr2,' + @Tache + ' AS Expr3,' + @Phase + ' AS Expr4,' + @Un + ' AS Expr5;'
EXEC spexecuteSQL @sql2
END
RETURN |
Citation:
Msg*8114, Niveau*16, État*5, Procédure*Maj_FMA, Ligne*28
Erreur de conversion du type de données nvarchar en real.
Merci pour votre aide