sql - error getting in procedure -
i trying build dynamic query page compression, @ time of execution showing error.
alter procedure usp_findtablenameinalldatabase @dbname varchar(256) declare @tablename varchar(256) declare @varsql varchar(512) declare @gettablename cursor set @gettablename = cursor select tablename table_list open @gettablename fetch next @gettablename @tablename while @@fetch_status = 0 begin set @varsql = 'use ' + @dbname + ' alter table '+@tablename+' rebuild partition = (data_compression = page )' exec (@varsql) fetch next @gettablename @tablename end close @gettablename deallocate @gettablename go exec usp_findtablenameinalldatabase '[adventureworks2014]' go
which giving error:
msg 16943, level 16, state 4, procedure usp_findtablenameinalldatabase, line 50
could not complete cursor operation because table schema changed after cursor declared.
how solve this???
declare @pagesize int, @pagenumber int, @firstrow int, @lastrow int select @pagesize = 20, @pagenumber = 1 select @firstrow = ( @pagenumber - 1) * @pagesize + 1, @lastrow = (@pagenumber - 1) * @pagesize + @pagesize ; members ( select col1,col2,col3, row_number() on (order col1 desc) rownumber table ) select col1,col2,..,..,.., members rownumber between @firstrow , @lastrow order col1 asc;
use this. may you. :)
Comments
Post a Comment