oracle cusor游标,ORACLE CURSOR 游标详解
DECLARE
sqlStr VARCHAR2(2000); --拼写sql
flag int; --判断是否存在
col_name VARCHAR2(100); --字段名字
tab_name VARCHAR2(100); --表名
col_type VARCHAR2(100); --表名
operator_str VARCHAR2(100) := '=';
FindUser VARCHAR2(50) :='ERSAFETY'; --要查找的用户
FindValues VARCHAR2(50) :=' USID20111128000292 '; --**要查找的值
Findtype1 VARCHAR2(50) := 'VARCHAR2'; --要查找的值类型 数字类型特殊处理
Findtype2 VARCHAR2(50) := 'CHAR'; --要查找的值类型
Findtype3 VARCHAR2(50) := 'VARCHAR'; --要查找的值类型
isLike boolean := false; --是否模糊查找
cursor cur is --定义游标
select *
from all_tab_columns a
-- where a.OWNER = FindUser
where a.Data_type in (Findtype1, Findtype2, Findtype3)
-- and a.Table_Name like 'BD_%' ;--要查找的表的过滤
order by Table_Name, Data_type;
begin
if isLike then
operator_str := ' like ';
FindValues := '''%' || FindValues || '%''';
else
operator_str := ' = ';
FindValues := '''' || FindValues || '''';
end if;
for i in cur loop
tab_name := i.table_name;
col_name := i.column_name;
if col_name = 'USID' &instr(col_name ,'$')=0 then
col_type := i.Data_type;
sqlStr := ' select count(*) from '||i.owner||'."'|| tab_name || '" where '||
col_name || operator_str || FindValues;
dbms_output.put_line(sqlStr || ' -----' || flag);
execute immediate sqlStr
into flag;
if flag > 0 then
dbms_output.put_line(' select ' || col_name || ' from ' || tab_name ||
' where ' || col_name || operator_str ||
FindValues || ' ---' || col_type || '---' || flag);
end if;
end if;
end loop;
end;
当然,游标也是可以省略的,如下所示:
begin
for xx in (select t.OWNER, t.TABLE_NAME, t.COLUMN_NAME
from dba_tab_columns t
where t.OWNER = 'SCOTT') loop
--这样直接遍历sql的查询结果也是可以的。 begin v_Sql := 'select count(1) from ' || xx.owner || '.' || xx.table_name || --使用方法同上。 end; end loop; end;
oracle cusor游标,ORACLE CURSOR 游标详解相关推荐
- oracle 记录给游标,Oracle游标 CURSOR实例详解
一.游标概述: 游标(cursor)是数据库系统在内存中开设的一个数据缓冲区,存放SQL语句的执行结果. 每个游标都有一个名字,用户可以用SQL语句逐一从游标中获取记录,并赋给变量做进一步处理. 作用 ...
- oracle 游标内存自动释放,详解Oracle隐式游标和显式游标
游标是什么?就是在内存开辟的一块临时存储空间. 1.Oracle隐式游标 1.1Oracle有常用的哪些隐式游标 1.2 Oracle隐式游标演示 -- 隐式游标 (使用的表为Oracle默认自带的e ...
- Oracle中序列(Sequence)详解
Oracle中序列(Sequence)详解 一 序列定义 序列(SEQUENCE)是序列号生成器,可以为表中的行自动生成序列号,产生一组等间隔的数值(类型为数字).不占用磁盘空间,占用内存. 其主要用 ...
- 创建emp表 oracle,Oracle中创建和管理表详解
Oracle中创建和管理表详解 更新时间:2013年08月01日 15:44:16 作者: 以下是对Oracle中的创建和管理表进行了详细的分析介绍,需要的朋友可以过来参考下 SQL> /* ...
- oracle imp 1403,Oracle中用exp/imp命令参数详解【转】
Oracle中用exp/imp命令参数详解 [用 exp 数 据 导 出]: 1 将数据库TEST完全导出,用户名system 密码manager 导出到D:daochu.dmp中 expsyste ...
- oracle通过dblink连接mysql配置详解(全Windows下)
oracle通过dblink连接mysql配置详解(全Windows下) 关于oracle通过dblink连接mysql,经过了两周的空闲时间研究学习,终于配置好了,真是不容易啊,仔细想想的话,其实也 ...
- oracle加密传输的种子,oracle net manager 数据传输安全步骤详解
简介 Net Manger可以管理服务命名和监听程序. 所谓监听程序就是一个Oracle服务器上进程,负责监听/响应客户端对Oracle服务的请求.之前我们在安装数据库实例时,同时已经安装了一个监听程 ...
- 直播预告丨Oracle数据库网络及存储技术详解-2022云和恩墨大讲堂
文末有惊喜福利哟~ Oracle数据库网络及存储技术详解 点此" 预约 ",即刻报名↓ DBA需要掌握些什么?这是一个老生常谈的话题了.很多时候数据库出了问题,到底是数据库本身的 ...
- 服务器系统安装oracle数据库,Oracle 11g服务器安装详细步骤图文详解
Oracle 11g是在推出的最新数据库软件,Oracle 11g有400多项功能,经过了1500多个小时的测试,开发工作量达到了3.6万人/月,相当于1000名员工连续研发3年.Oracle 11g ...
- oracle静默安装指定组件,Oracle 11g 静默安装-db_install.rsp详解
Oracle 11g 静默安装-db_install.rsp详解 前提安装正常的配置流程,配置完服务器后,将db_install.rsp. netca.rsp,dbca.rsp复制到/app/一份,然 ...
最新文章
- linux下出现ping:unknown host www.baidu.com问题时的解决办法——ubuntu下局域网络的配置...
- Node.js 添加 C/C++ Addon
- DNS信息探测工具DNSRecon常用命令
- Esper——内存计算、事件驱动、SQL支持
- ios自定义日期、时间、城市选择器
- mysql数据库入门教程(9):数据的常见约束
- IPC$连接常见问答
- cocos2dx libevent简介和使用
- 微表情如何用计算机分析计算,基于微表情识别的学生课堂专注度分析系统研究...
- 地震勘探原理名词解释
- MinGW GCC 7.3.0 2018年1月25日 出炉啦
- php invoke 反射,PHP ReflectionMethod invoke()用法及代码示例
- 34、BDS B1I星历处理实现
- 华为微认证华为云数据库服务实践稳过 笔记资料
- 好友克隆自助下单网站_可口可乐的成功可以这样复制!
- A - 五军之战 (sdut擂台赛)
- tf.control_dependencies与tf.identity组合详解
- C++(27)——判断数正负
- TIO-websoket-showcase 学习笔记
- 个体崛起的时代,你需要为自己的职业发展谋求新的出路
热门文章
- 二、OCR训练时,将txt文件和图片数据转为lmdb文件格式
- oracle10安装网络需求警告,安装oracle10出现的问题,求解!!!!!(在线等)
- ios 贝塞尔曲线 颜色填充_PS的3D颜色深度映射到球体模拟天线
- 机器学习与高维信息检索 - Note 6 - 核, 核方法与核函数(Kernels and the Kernel Trick)
- sd.js 2.0封装:更加简化请求传参内容
- tree类型题目需要用到的头文件tree.h
- 嵌入式系统开发过程中遇到的——volatile
- FlameScope 更高级全面的火焰图
- windows常用命令有哪些(整理)
- html 自动弹出框