返回顶部
首页 > 资讯 > 数据库 >使用remove_constants工具查看Oracle是否使用绑定变量
  • 710
分享到

使用remove_constants工具查看Oracle是否使用绑定变量

2024-04-02 19:04:59 710人浏览 泡泡鱼
摘要

这个也是Tom大神写的工具。 https://asktom.oracle.com/pls/asktom/f?p=100:11:::::P11_QUESTioN_ID:1163635055580 下面模拟没

这个也是Tom大神写的工具
https://asktom.oracle.com/pls/asktom/f?p=100:11:::::P11_QUESTioN_ID:1163635055580

下面模拟没有绑定变量的环境,然后使用该工具查看
创建实验帐号
conn / as sysdba
create user edmond identified by edmond;
grant connect,resource,dba to edmond;

create table t(x int);
insert into t select rownum from dual connect by level<=10000;

create or replace procedure p1
as
    l_cnt number;
begin
    for i in 1 .. 10000
    loop
        execute immediate 'select count(*) from t where x=' || i into l_cnt;
    end loop;
end;
/

在一个终端执行p1过程,开启另一个终端执行如下脚本:
  1. create table t1 as select sql_text from v$sqlarea;

  2. alter table t1 add sql_text_wo_constants varchar2(1000);

  3. create or replace function
  4. remove_constants( p_query in varchar2 ) return varchar2
  5. as
  6.     l_query long;
  7.     l_char varchar2(1);
  8.     l_in_quotes boolean default FALSE;
  9. begin
  10.     for i in 1 .. length( p_query )
  11.     loop
  12.         l_char := substr(p_query,i,1);
  13.         if ( l_char = '''' and l_in_quotes )
  14.         then
  15.             l_in_quotes := FALSE;
  16.         elsif ( l_char = '''' and NOT l_in_quotes )
  17.         then
  18.             l_in_quotes := TRUE;
  19.             l_query := l_query || '''#';
  20.         end if;
  21.         if ( NOT l_in_quotes ) then
  22.             l_query := l_query || l_char;
  23.         end if;
  24.     end loop;
  25.     l_query := translate( l_query, '0123456789', '@@@@@@@@@@' );
  26.     for i in 0 .. 8 loop
  27.         l_query := replace( l_query, lpad('@',10-i,'@'), '@' );
  28.         l_query := replace( l_query, lpad(' ',10-i,' '), ' ' );
  29.     end loop;
  30.     return upper(l_query);
  31. end;
  32. /
  33. update t1 set sql_text_wo_constants = remove_constants(sql_text);

set linesize 200;
col sql_text_wo_constants fORMat a100;
您可能感兴趣的文档:

--结束END--

本文标题: 使用remove_constants工具查看Oracle是否使用绑定变量

本文链接: https://lsjlt.com/news/46755.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 使用remove_constants工具查看Oracle是否使用绑定变量
    这个也是Tom大神写的工具。 https://asktom.oracle.com/pls/asktom/fp=100:11:::::P11_QUESTION_ID:1163635055580 下面模拟没有...
    99+
    2024-04-02
  • 怎么使用ORACLE中的绑定变量
    这篇文章主要讲解了“怎么使用ORACLE中的绑定变量”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么使用ORACLE中的绑定变量”吧!一、绑定变量的作用:...
    99+
    2024-04-02
  • sql查找未使用绑定变量的语句
    本篇内容主要讲解“sql查找未使用绑定变量的语句”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“sql查找未使用绑定变量的语句”吧!一、查找方法:从ORACLE1...
    99+
    2024-04-02
  • oracle怎么查看索引是否被使用
    你可以使用Oracle的性能监视工具来查看索引是否被使用。1. 首先,你需要登录到Oracle数据库的系统或者特权用户。2. 执行以...
    99+
    2023-08-20
    oracle
  • SQL Developer中如何使用绑定变量
    这篇文章将为大家详细讲解有关SQL Developer中如何使用绑定变量,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。 Toad是个强大的工...
    99+
    2024-04-02
  • oracle怎么查看用户是否被锁定
    要查看Oracle数据库中的用户是否被锁定,可以执行以下步骤: 以sysdba身份连接到数据库: sqlplus / as sy...
    99+
    2024-04-09
    oracle
  • PostgreSQL查看带有绑定变量SQL的通用方法详解
    当我们在PostgreSQL中分析一些历史的SQL问题时,往往看到的SQL都是带有绑定变量的。而对于pg,我们没法像oracle一样通过例如dba_hist_sqlbind之类的视图去获取历史的绑定变量值。不仅如此,对于...
    99+
    2024-04-02
  • linux如何查看是否使用raid
    这篇文章主要介绍“linux如何查看是否使用raid”,在日常操作中,相信很多人在linux如何查看是否使用raid问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”linux如何查看是否使用raid”的疑惑有所...
    99+
    2023-06-30
  • php质量检查工具 phpmd的使用
    PHPMD简介 团队在使用php-cs-fixer 代码格式自动式化工具之后,在格式,代码错误等方面带来了很大便利,不过在命名,代码质量,代码复杂度,缺少一些检查,在网上搜索后,发现PHPMD 一个PHP代码静态分析工具. 安装 官方网站 ...
    99+
    2023-09-05
    php phpmd
  • WPF 查看绑定错误——Snoop 的基本使用
    关于 可以通过 Snoop 查看 WPF 程序的 Visual Tree,更多介绍请看 snoopwpf 快速开始 一、下载 snoopwpf.msi 安装后打开,选择自己的程序,点击 snoop(望远镜) 二、筛选 点击左侧下拉列表,选...
    99+
    2023-08-30
    wpf
  • ecmascript使用变量是否需要声明
    ecmascript使用变量是否需要声明,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。ecmascript使用变量不需要声明。...
    99+
    2024-04-02
  • 【ADRCI】使用ADRCI (ADR Command Interpreter) 工具查看Oracle alert警告日志
      在Oracle的11g版本中,alert文件的位置发生了变化,与此同时Oracle提供了一个命令行工具ADRCI,它可以很便利的查看数据库中出现的异常。 通过这个小文儿给大家展示一下使用ADRCI (ADR Command I...
    99+
    2023-06-06
  • JavaScript如何使用constructor属性来确定变量是否是数组
    这篇文章主要介绍了JavaScript如何使用constructor属性来确定变量是否是数组,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。使用对象的构造函数属性每个对象都有一...
    99+
    2023-06-17
  • Mysql如何查看是否使用到索引
    目录mysql查看是否使用到索引EXPLAIN列的解释MySQL查看索引使用情况总结Mysql查看是否使用到索引 mysql数据库创建索引优化之后,在查询时想看下是否使用到索引, 使用执行计划查看: mysql> ...
    99+
    2022-12-22
    Mysql查看索引 Mysql索引 Mysql是否使用索引
  • vue动态绑定ref(使用变量)以及获取方式
    目录vue动态绑定ref及获取一起来看下代码吧ref三种使用方法refvue动态绑定ref及获取 正常情况,我们需要在vue中获得某个dom或者组件,我们会通过绑定 ref 然后通过...
    99+
    2024-04-02
  • MySQL 使用自定义变量进行查询优化
    目录优化排序查询避免重复获取刚刚修改的数据行懒加载的联合查询优化排序查询 自定义变量的一个重要特性是你可以同时将该变量的数学计算后的结果再赋值给该变量,类似于我们的 i = i + 1这种方式。下面是一个用于计算数...
    99+
    2022-05-21
    MySQL 自定义变量 MySQL 查询优化
  • 如何使用vimdiff代替svn diff的查看代码工具
    这篇文章给大家分享的是有关如何使用vimdiff代替svn diff的查看代码工具的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。在linux下,直接使用svn diff命令查看代码的修改是很吃力的,于是在网上搜索...
    99+
    2023-06-10
  • Java项目使用intellij-IDEA查看依赖包版本是否有冲突(方法及工具)附截图
    文章目录 相关背景第一个是idea本身的第二个是Idea的插件End 感谢阅读~ 相关背景 编译器及版本idea-ultimate依赖管理工具maven 第一个是idea本身的 S...
    99+
    2023-09-06
    java intellij-idea maven jar
  • javascript使用isNaN()函数判断变量是否为数字
    javascript中判断变量是否为数字的方法,这里主要介绍javascript里的 isNaN() 函数。 功能: isNaN() 函数用于检查其参数是否是非数字值。 语法: is...
    99+
    2022-11-15
    isNaN()函数 判断变量
  • 域名批量查询工具有哪些及怎么使用
    域名批量查询工具有很多,其中比较常用的有以下几种:1. Whois批量查询工具:可以查询多个域名的Whois信息,包括域名注册人、注...
    99+
    2023-06-14
    域名批量查询 域名
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作