Answer Posted / manoj kaushik
/* Same as previous example, this time using a
** cursor. Each update commits as it is made.
*/
create procedure increase_price_cursor
as
declare @price money
/* declare a cursor for the select from titles */
declare curs cursor for
select price
from titles
for update of price
/* open the cursor */
open curs
/* fetch the first row */
fetch curs into @price
/* now loop, processing all the rows
** @@sqlstatus = 0 means successful fetch
** @@sqlstatus = 1 means error on previous fetch
** @@sqlstatus = 2 means end of result set reached
*/
while (@@sqlstatus != 2)
begin
/* check for errors */
if (@@sqlstatus = 1)
begin
print "Error in increase_price"
return
end
/* next adjust the price according to the
** criteria
*/
if @price > $60
select @price = @price * 1.05
else
if @price > $30 and @price <= $60
select @price = @price * 1.10
else
if @price <= $30
select @price = @price * 1.20
/* now, update the row */
update titles
set price = @price
where current of curs
/* fetch the next row */
fetch curs into @price
end
/* close the cursor and return */
close curs
return
| Is This Answer Correct ? | 0 Yes | 0 No |
Post New Answer View All Answers
Explain the difference between 'between' & 'and' operators in sql
What is data type in sql?
What is restrict in sql?
What is sql character function?
what is a trigger? : Sql dba
Is it possible to link two groups inside a cross products after the cross products group has been created?
What is Collation Sensitivity ? What are the various type ?
What is a constraint? Tell me about its various levels.
what is an alias command? : Sql dba
What are the constraints available in sql?
How do you take the union of two tables in sql?
What is sql catalog?
what is single byte over head in oracle..?
Why do we use set serveroutput on?
What is a system versioned table?