J'essaie de voir une liste de tables de Adventureworks DB du schéma "Personne" dans Sql Server 2008. J'ai développé le SP suivant, mais après l'exécution comme suit il me donne l'erreur "Incorrect syntaxe près de ')' ". Savez-vous comment je peux réviser cette déclaration SP ou exec?SQL dynamique pour interroger une table Adventureworks
CREATE PROCEDURE [getTableNames]
@SchemaName VARCHAR(50)
AS
BEGIN
SET NOCOUNT ON;
SET @SchemaName = 'PERSON'
DECLARE @cmd AS VARCHAR(max)
SET @SchemaName = RTRIM(@SchemaName)
SET @cmd = N'SELECT TABLE_NAME ' +
'FROM information_schema.Tables ' +
'WHERE TABLE_TYPE = ''BASE TABLE'' AND TABLE_SCHEMA = @SchemaName'
END
exec sp_executesql getTableNames, N'@SchemaName NVARCHAR(50), @SchemaName'
Merci, cela fonctionne aussi mais j'aime l'autre solution un peu mieux car j'ai besoin de lancer un SP à partir de mon code C#. – salvationishere
Ceci est juste le SQL qui fonctionne et peut être dans un SP ou non. Il suffit de mettre cela entre le début et la fin de votre SP et vous avez terminé. – Todd