Je veux écrire un proc stocké qui utilisera un paramètre, qui sera le nom de la table.SQL dynamique (en passant le nom de la table en tant que paramètre)
par exemple:
@tablename << Parameter
SELECT * FROM @tablename
Comment est-ce possible?
j'ai écrit ceci:
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[GetAllInterviewQuestions]
@Alias varchar = null
AS
BEGIN
Exec('Select * FROM Table as ' @Alias)
END
Mais il dit une syntaxe incorrecte près @Alias.
Il est légèrement préférable d'entourer le nom de la table entre crochets pour vous protéger des noms de table qui sont des mots réservés et/ou inclure des espaces dans le nom de la table. exec ('select * from [' + @ tablename + '] où ...') –