存储过程使用游标
发布网友
发布时间:2022-04-15 01:28
我来回答
共2个回答
热心网友
时间:2022-04-15 02:57
ALTER proc [dbo].[存储过程名]
as
begin
declare 游标名字 cursor for select 列名 from 表名 where 条件--先申明游标指向查询出的结果,一列,或者多列都可以,条件自定
declare 变量名 varchar(400)--存储取到的值
open 游标名 --开启游标
while @@FETCH_STATUS=0--取值
begin
fetch next FROM 游标名 into 变量名--这样就将游标指向下一行,得到的第一行值就传给变量了
-------------------------------------------
--需要执行的操作,例如修改某表中的字段
update 表名
set 列名=值
where (修改表中的列)=变量名
-------------------------------------------
end
close 游标名--关闭游标
deallocate 游标名--释放游标
end
请采纳。追问具体怎么写,可以帮忙写一吗
热心网友
时间:2022-04-15 04:15
create or replace procere keytoword
(mykey in varchar2)
is
re varchar2(2000);
begin
select replace(wm_concat(word),',','**') into re from IM_FT_KEYWORD where instr(key,mykey) >0;
dbms_output.put_line(re);
end keytoword;
也用不着游标啊,这样试试
然后只输入一个参数,mykey就可以
追问你这个是返回了一条数据的多个字段的情况吧,如果反回了多条数据的一个字段呢,好像还是要用游标吧
追答你有具体的需求吗?
楼上的你就不用看了,用的是sqlserver的东西,还答不对题的
你目前的需求就用这个就行