14动态游标
来源:互联网 发布:读写分离 mysql 编辑:程序博客网 时间:2024/06/18 16:00
/*动态游标是用于执行动态SQL语句。*/declare --oracle9i之前的定义 Type REFCURSOR is REF CURSOR; cs_user REFCURSOR; --oracle9i之后的定义 --cs_user sys_refcursor; v_sql varchar2(1000); v_username varchar2(100); v_password varchar2(100); v_row T_Userinfo%RowType; v_dept T_Sys_Dept%RowType;begin --SQL语句的拼凑 v_username := 'a'; v_password := null; v_sql := 'Select * From T_Userinfo where 1 = 1'; if v_username is not null and v_username != ' ' then v_sql := v_sql || ' and username like ''%' || v_username || '%'' '; end if; if v_password is not null and v_password != ' ' then v_sql := v_sql || ' and password = '''; v_sql := v_sql || v_password; v_sql := v_sql || ''''; end if; v_sql := v_sql || ' order by userid asc'; dbms_output.put_line(v_sql); --使用动态游标来打开动态SQL. open cs_user for v_sql; loop fetch cs_user into v_row; if cs_user%notfound then exit; end if; dbms_output.put_line(v_row.userid || ' ' || v_row.username); end loop; close cs_user; dbms_output.put_line('读取另外一张表的数据'); v_sql := 'Select * From T_Sys_Dept order by dept_id asc'; open cs_user for v_sql; loop fetch cs_user into v_dept; if cs_user%notfound then exit; end if; dbms_output.put_line(v_dept.dept_id || ' ' || v_dept.dept_name); end loop; close cs_user;end;--Select * From T_Userinfo where 1 = 1 order by userid asc
阅读全文
0 0
- 14动态游标
- 参数游标&动态游标
- 动态游标
- 动态游标
- 动态游标
- 动态游标
- 动态sql,动态游标
- 静态游标和动态游标
- 静态游标和动态游标
- 【oracle游标三】动态游标
- oracle04_静态游标,动态游标
- oracle 游标(显示游标,隐式游标,动态游标)
- 动态游标的使用.
- 动态游标的写法
- SQL动态游标
- Oracle动态游标入门
- 游标,动态,for循环
- 动态游标(REF CURSOR)
- MYSQL安装出现问题(The service already exists)
- 每个cpu 都有一个idle进程.
- Ubuntu下apt-get方式Git的安装、配置和更新
- Redhat7安装VNC服务端和FTP服务端实现远程控制
- hadoop mapTask执行过程
- 14动态游标
- 两种数组去重的方法
- mysql 查询排名
- 2017.9.7考试
- 03 JavaScript的学习笔记
- Linux中操作mysql的基本命令
- 阅读笔记常见的设计模式之二:观察者模式
- 2.mysql其他存储引擎简介
- Android中大图片加载