December 20, 2020 at 12:04 am
How to use Cursor to Execute stored procedure where featurevalue is bigger than 0 ?
I work on SQL server 2012 . I face issue I can't use cursor to execute stored procedure when feature value is bigger than 0 .
I have stored procedure must execute with every line where feature value is bigger than 0
so according to my case I will use cursor to execute stored procedure with feature value that bigger than 0
so EXEC sp_updatevaluesonTables 10,30,40,50
this sp pass to it feature value to do some thing update and insert data
so How to use cursor to execute stored procedure sp_updatevaluesonTables with every value bigger than 0
as
cursor
EXEC sp_updatevaluesonTables 10,30,40,50
end cursor
im not use cursor before so can you help me
create table #updatestatus
(
FeatureValue int,
status nvarchar(50)
)
insert into #updatestatus
values
(10,NULL),
(50,NULL),
(-2,NULL),
(-3,NULL),
(30,NULL),
(40,NULL)
SELECT * FROM #updatestatus WHERE FeatureValue>0
Exec sp_updatevaluesonTables FEATUREVALUE
December 20, 2020 at 1:13 pm
i see your strategy, simply filter with a WHERE statement to process just the desired rows.
I suspect you just need a decent cursor model? here you go!
create table #updatestatus
(
FeatureValue int,
status nvarchar(50)
)
insert into #updatestatus
values
(10,NULL),
(50,NULL),
(-2,NULL),
(-3,NULL),
(30,NULL),
(40,NULL)
--desc: cursor model for adapting to times you need a cursor
declare
@Featurevalueit varchar(64)
declare c1 cursor LOCAL FORWARD_ONLY STATIC READ_ONLY for
--###############################################################################################
--cursor definition
--###############################################################################################
SELECT * FROM #updatestatus WHERE FeatureValue > 0
--###############################################################################################
open c1
fetch next from c1 into @Featurevalue
While @@fetch_status <> -1
begin
Exec sp_updatevaluesonTables @Featurevalue
fetch next from c1 into @Featurevalue
end
close c1
deallocate c1
GO
Lowell
Viewing 2 posts - 1 through 2 (of 2 total)
You must be logged in to reply to this topic. Login to reply
This website stores cookies on your computer.
These cookies are used to improve your website experience and provide more personalized services to you, both on this website and through other media.
To find out more about the cookies we use, see our Privacy Policy