Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Dynamic SQL
Message
General information
Forum:
Microsoft SQL Server
Category:
Scripting
Title:
Environment versions
SQL Server:
SQL Server 2008
Application:
Desktop
Miscellaneous
Thread ID:
01466109
Message ID:
01466133
Views:
38
>I am attempting to display a count of the rows in a table called ContactUpdates in the AP Database. However, I am using a variable named @TableNameVar to contain the name of the table which I obtain by using a SQL statement sort of like a derived table, as in this: SET @TableNameVar = 'SELECT MIN(name) from sys.tables' , but it isn't quite working yet. This is for an exercise in my T-SQL class.
>
>
>USE AP
>
>DECLARE @DynamicSQL VARCHAR(300)
>DECLARE @TableNameVar VARCHAR(20)
>SET @TableNameVar = 'SELECT MIN(name) from sys.tables'
>
>SET @DynamicSQL = 
>	'SELECT COUNT(*) AS Countof' + (@TableNameVar) + ' FROM ' + @TableNameVar
>
>EXEC (@DynamicSQL)
>
To get record counts in all tables in the Database:
DECLARE @DynamicSQL NVARCHAR(max)
SELECT @DynamicSQL = coalesce(@DynamicSQL + CHAR(13) + ' UNION ALL ' + CHAR(13),'') + 
	'SELECT ' + quotename(Table_Name,'''') + ' as TableName, COUNT(*) AS [RecordsCount] FROM ' + quotename(Table_Name) from
	information_schema.Tables order by Table_Name
--print (@DynamicSQL) -- we may want to use PRINT to debug the SQL
EXEC (@DynamicSQL)
If it's not broken, fix it until it is.


My Blog
Previous
Reply
Map
View

Click here to load this message in the networking platform