[Sql Server] Procédure stockée

Statut
N'est pas ouverte pour d'autres réponses.

Angy

Elite
Hello!

J'ai un bête problème!

En faite, j'essaye de récupérer en paramètre dans une procédure stockée le nom d'une table et afficher la table.

Code:
DECLARE @RC int
DECLARE @tablename nvarchar(256)
-- Définir les valeurs de paramètre
EXEC @RC = [BD GROUPE 03].[connect-03].[Issuquery] 'Employees'
Mais quand je veux faire le select, il me dit que ma variable doit être déclarée

Code:
ALTER	 PROCEDURE Issuquery
	@tablename nvarchar(256)
AS
	Select * from @tablename
GO
Quelqu'un a une idée?

(c'est vraiment bête comme problème, mais il faut que je sache comment faire quand même :-D)

Merci!
 

k o D

Elite
Alors désolé de te décevoir mais ce n'est pas aussi court :p

DECLARE @nomVariable1 VARCHAR
DECLARE @nomVariable2 INT

SELECT @nomVariable2 = SELECT champInt FROM taTable WHERE ...
SELECT @nomVariable1 = SELECT champVar FROM taTable WHERE ...

PRINT @nomVariable1
PRINT @nomVariable2


EDIT: ah non en fait j'suis con j'ai pas compris ta question :p
 
1er
OP
Angy

Angy

Elite
Pas grave, c'est gentil d'avoir essayé :-D
 

Nikko

...
Tu dois passer par du SQL Dynamique si tu veux faire ça avec quelque chose dans ce style-ci :

CREATE PROCEDURE sel_table
@tablename nvarchar(128 ),
begin

declare @sqlcmd nvarchar(4000)
set @sqlcmd = 'SELECT * FROM ' + @tablename
exec master.dbo.sp_executesql @sqlcmd
end

end
 
1er
OP
Angy

Angy

Elite
Pour ton code, il n'est pas compatible avec les procédures dans l'analyseur de requête de sql server. Arf

Mais c'est bon, je n'en ai plus besoin.

Merci!
 

Nikko

...
Ha ! merci pour l'info ^^

Je passe toujours par l'enterprise manager ou le sql studio management donc je n'ai jamais eu ce problème
 
Statut
N'est pas ouverte pour d'autres réponses.
Haut