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

Popular posts from this blog

java - Run spring boot application error: Cannot instantiate interface org.springframework.context.ApplicationListener -

reactjs - React router and this.props.children - how to pass state to this.props.children -

Excel VBA "Microsoft Windows Common Controls 6.0 (SP6)" Location Changes -