游标是静态的,相当于常量
网站建设哪家好,找创新互联!专注于网页设计、网站建设、微信开发、微信平台小程序开发、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了化州免费建站欢迎大家使用!
游标变量是动态随时可以赋值的相当于变量
具体请看:和
oracle游标是数据库中一个命名的工作区,当游标被声明后,他就与一个固定的SQL想关联,在编译时刻是已知的,是静态的.它永远指向一个相同的查询工作区.\x0d\x0a游标变量可以在运行时刻与不同的SQL语句关联,在运行时可以取不同的SQL语句.它可以引用不同的工作区.\x0d\x0aoracle游标和游标变量是不能相互代替的.\x0d\x0a如何定义游标类型\x0d\x0aTYPE ref_type_name IS REF CURSOR [RETURN return_type];\x0d\x0a声明游标变量\x0d\x0acursor_name ref_type_name;\x0d\x0a \x0d\x0aref_type_name 是后面声明游标变量时要用到的我们的游标类型(自定义游标类型,即CURSOR是系统默认的,ref_type_name是我们定义的 );return_type代表数据库表中的一行,或一个记录类型\x0d\x0aTYPE ref_type_name IS REF CURSOR RETURN employee%TYPE\x0d\x0aRETURN 是可选的,如果有是强类型,可以减少错误,如果没有return是弱引用,有较好的灵活性.\x0d\x0a \x0d\x0a不能在包头里面声明游标变量,注意,但可以定义游标类型,要注意这二者的区别.\x0d\x0a可以声明游标变量作为函数或过程的形式参数.\x0d\x0a%TYPE一个列类型\x0d\x0a%ROWTYPE行类型\x0d\x0a控制oracle游标变量\x0d\x0aOPEN-FOR(打开游标变量,与多行查询连接起来) FETCH(从结果集中取行数据),close(关闭游标变量)\x0d\x0aBULK COLLECT子句将游标变量中的行一次性提取到一个集合中.
LOOP
BEGIN
FETCH id_cursor
INTO v1, v2, v3, v4;--把游标里的四个值分别赋值到四个变量中
EXIT WHEN id_cursor%NOTFOUND;
IF v1 = 'xxx'--比如想判断游标中第一个变量的值,就这样if一下
THEN
xxx
ELSE
xxx
IF v2 = 'xxx'--判断第二个也一样
THEN
xxx
ELSE
xxx
END IF;
EXCEPTION
xxx
END;
END LOOP;
CLOSE id_cursor;
记得自己声明变量和游标名字……
不知道你是问这个不