I use this pattern a lot in DBA scripts...
DECLARE @SQL NVARCHAR(1000)
DECLARE @input_schema VARCHAR(100)
DECLARE @input_table VARCHAR(100)
DECLARE @current_schema VARCHAR(100)
DECLARE @current_table VARCHAR(100)
SET @input_schema = null
SET @input_table = null
DECLARE tablecursor CURSOR FOR
SELECT table_schema, table_name
FROM information_schema.TABLES
WHERE TABLE_TYPE = 'BASE TABLE'
AND (TABLE_SCHEMA = @input_schema OR (@input_schema = '' OR @input_schema is null))
AND (TABLE_NAME = @input_table OR (@input_table = '' OR @input_table is null))
OPEN tablecursor
FETCH NEXT FROM tablecursor INTO @current_schema, @current_table
WHILE @@FETCH_STATUS = 0
BEGIN
SET @SQL = 'EXEC add_to_table_queue '+ @current_schema + ' , ' + @current_table
PRINT @SQL
--EXEC Sp_executesql @SQL
FETCH NEXT FROM tablecursor INTO @current_schema, @current_table
END
CLOSE tablecursor
DEALLOCATE tablecursor
No comments:
Post a Comment