我試圖從Sql Server 2008中的「Person」模式中查看Adventureworks數據庫中的表的列表。我開發了以下SP,但運行後如下,它給我錯誤「Incorrect語法靠近')'「。你知道我該如何修改這個SP或exec聲明嗎?查詢Adventureworks表的動態SQL
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'
謝謝,這也適用,但我更喜歡其他解決方案,因爲我需要從我的C#代碼運行SP。 – salvationishere 2010-04-06 21:49:24
這只是工作的SQL,可以在SP中或不在。只要把它放在SP的開始和結束之間,你就完成了。 – Todd 2010-04-07 13:20:05