Please start any new threads on our new
site at https://forums.sqlteam.com. We've got lots of great SQL Server
experts to answer whatever question you can come up with.
| Author |
Topic |
|
satya068
Posting Yak Master
233 Posts |
Posted - 2010-03-19 : 05:16:18
|
| Hi..i got struck in the middle could any help me in this query pls?after running the below script i am not getting any error message but...the data is not comming to the database tables.i designed tables in both databases PAS_RDB and PAS_SCHEMA. TABLE_NAME VARCHAR(100) ROW_COUNT INT TABLE_NAME VARCHAR(100) ROW_COUNT INT TABLE_NAME VARCHAR(100)UPDATE_COUNT INTthese three table i created in both PAD_RDB and PAS_SCHEMA. DECLARE @TableName sysname, @SQL nvarchar(max) , @INSERT_DATE datetime, @UPDATE_DATE datetime, @INSERT_COUNT int, @UPDATE_COUNT intDECLARE @TODAY VARCHAR(10)SET @TODAY = CONVERT(varchar(10), getdate(), 121)DECLARE @DATABASE varchar(255)DECLARE @LOOP_COUNT intSET @LOOP_COUNT = 1WHILE (@LOOP_COUNT < 3)BEGINIF @LOOP_COUNT = 1 USE PAS_RDBIF @LOOP_COUNT > 1 USE PAS_SCHEMADECLARE tables_cursor CURSOR FAST_FORWARDFORSELECT name FROM sys.tablesOPEN tables_cursorFETCH NEXT FROM tables_cursor INTO @TableName WHILE @@FETCH_STATUS = 0BEGIN SELECT @SQL = 'Insert into RECORD_COUNT (TABLE_NAME, ROW_COUNT) SELECT ''' + @TableName + '''as TABLE_NAME, COUNT(*)as ROWS_COUNT ' +'FROM ['+ @TableName+']' print @sql EXEC SP_EXECUTESQL @SQL SELECT @SQL ='insert into INSERT_COUNT (TABLE_NAME, INSERT_COUNT) SELECT ''' + @TableName + '''as TABLE_NAME, COUNT(*) as INSERT_COUNT ' +'FROM [' + @TableName + '] where' + convert(varchar, @INSERT_DATE) +' >= '''+ convert(varchar, @TODAY) + ''' group by ' + @tablename + ''print @sql EXEC SP_EXECUTESQL @SQL SELECT @SQL ='insert into UPDATE_COUNT (TABLE_NAME, UPDATE_COUNT) SELECT ''' + @TableName + '''as TABLE_NAME, COUNT(*) as UPDATE_COUNT' +'FROM [' + @TableName + '] where' + convert(varchar, @UPDATE_DATE) +' >= '''+ convert(varchar, @TODAY) + ''' group by ' + @tablename + ''print @sql EXEC SP_EXECUTESQL @SQL FETCH NEXT FROM tables_cursor INTO @TableNameEND CLOSE tables_cursorDEALLOCATE tables_cursorSET @LOOP_COUNT = @LOOP_COUNT + 1 END |
|
|
visakh16
Very Important crosS Applying yaK Herder
52326 Posts |
Posted - 2010-03-19 : 13:00:58
|
| you cant change database context like below inside a procedureIF @LOOP_COUNT = 1 USE PAS_RDBIF @LOOP_COUNT > 1 USE PAS_SCHEMA------------------------------------------------------------------------------------------------------SQL Server MVPhttp://visakhm.blogspot.com/ |
 |
|
|
|
|
|
|
|