您好,登录后才能下订单哦!
create table T1 ( sex varchar2 ( 10 ), name varchar2 ( 20 ));
insert into t1 values ( ' 男 ' , ' 小刘 ' );
insert into t1 values ( ' 女 ' , ' 小陈 ' );
insert into t1 values ( ' 女 ' , ' 晓燕 ' );
insert into t1 values ( ' 女 ' , ' 小红 ' );
commit ;
select * from t1 ;
DECLARE
v_sex t1 . sex %type ;
v_name t1 . name %type ;
begin
fetch c_t1_cursor into v_sex , v_name ;
exit when c_t1_cursor%notfound ;
print ( v_name|| ' is ' ||v_sex );
end ;
注:游标的定义要在匿名块的定义部分定义,游标打开、提取数据、关闭都在执行部分。
语法:
CURSOR cursor_name
[(parameter_name datatype, ...)]
IS
select_statement;
......
OPEN cursor_name(parameter_value,.....) ;
DECLARE
v_sex t1 . sex%type ;
v_name t1 . name%type ;
begin
fetch c_t1_cursor into v_sex , v_name ;
exit when c_t1_cursor%notfound ;
print ( v_name|| ' is ' ||v_sex );
end ;
注:open c_t1_cursor(' 男') 也可以改为 open c_t1_cursor ( &sex );
语法:
FOR record_name IN cursor_name|select_statement LOOP
statement1;
statement2;
......
END LOOP;
begin
print ( t1_record . name|| ' is ' ||t1_record . sex );
end ;
语法:
TYPE ref_type_name IS REF CURSOR [RETURN return_type];
cursor_variable ref_type_name;
ref_type_name :用于指定自定义类型名
RETURN :用于指定返回结果的数据类型
cursor_variable :用于指定游标变量名
DECLARE
my_cursor t1_cursor ;
v_sex t1 . sex%type ;
v_name t1 . name%type ;
begin
FETCH my_cursor INTO v_sex , v_name ;
EXIT WHEN my_cursor%NOTFOUND ;
print ( v_name|| ' is ' ||v_sex );
end ;
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
开发者交流群:
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。
原文链接:http://blog.itpub.net/69949798/viewspace-2679252/