oracle添加表的索引,oracle批量添加指定表前缀的索引SQL语句

oracle批量添加指定表前缀的索引SQL语句

需要输入用户名,表空间,索引个数,表名前缀,过滤的表名后缀

##需要输入用户名,表空间,索引个数,表名前缀,过滤的表名后缀

declare

--用户名

userName varchar2(50) :='apps';

--表空间

tablespaceName varchar2(50) :='APPS_TS_TX_IDX';

--索引个数

rowN number :=3;

--过滤表名后缀,该表不添加索引,例如临时表

tableLastName varchar2(10) :=upper('_temp');

tableLastName1 varchar2(10) :=upper('_te');

--表名前缀

cursor vdata is select t.table_name from user_tables t where t.TABLE_NAME like upper('SRM_POS_%')

and t.TABLE_NAME not like '%'||tableLastName

and t.TABLE_NAME not like '%'||tableLastName1

order by t.TABLE_NAME;

--声明变量,记录一行数

v vdata%rowtype;

n number;

--索引名,限制最大程度为30字符

indexName varchar2(30);

temp varchar2(27);

k number;

begin

--打开游标

open vdata;

--循环遍历取数据

loop

fetch vdata into v;

exit when vdata%NOTFOUND;

select count(*) into n from user_ind_columns t where t.TABLE_NAME=upper(v.table_name);

if n

k := 1;

--dbms_output.put_line('表名:-----'||v.table_name);

select length(v.table_name) into n from dual;

if n>27 then

temp := substr(v.table_name,0,27);

else

temp := v.table_name;

end if;

indexName := temp||'_N'||k;

for cur in (select t.column_name,t.TABLE_NAME from user_tab_columns t where t.table_name = upper(v.table_name) ---表名

and instr(lower(t.column_name), 'attribute') = 0

and instr(lower(t.COLUMN_NAME),'last_update') = 0

and instr(lower(t.COLUMN_NAME),'version_num') = 0

and instr(lower(t.COLUMN_NAME),'created_by') = 0

and instr(lower(t.COLUMN_NAME),'creation_date') = 0

and t.COLUMN_ID<=rowN) loop

--判断该字段是否已经创建索引

select count(*) into n from user_ind_columns t where t.TABLE_NAME=upper(v.table_name) and t.COLUMN_NAME=upper(cur.column_name);

--未创建索引

if n<1 then

--判断索引名是否存在

select count(*) into n from user_ind_columns t where t.INDEX_NAME=upper(indexName);

while n>0 loop

k := k+1;

indexName := temp||'_N'||k;

select count(*) into n from user_ind_columns t where t.INDEX_NAME=upper(indexName);

end loop;

--打印创建索引语句

dbms_output.put_line('Create Index '||userName||'.'||indexName||' ON '||userName||'.'||cur.table_name||'('||cur.column_name||')'||' tablespace '||tablespaceName||';');

k := k+1;

indexName := temp||'_N'||k;

end if;

end loop;

end if;

end loop;

--关闭游标

close vdata;

end;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/339674.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

javafx隐藏_JavaFX技巧14:StackPane子项-隐藏但不消失

javafx隐藏另一个简短提示&#xff1a;Swing提供了一个名为CardLayout的布局管理器&#xff0c;该管理器管理容器内的一组组件&#xff08;卡&#xff09;&#xff0c;但始终仅显示其中一个。 方法CardLayout.show&#xff08;Container &#xff0c;String&#xff09;允许在组…

oracle yyyy和yy,Oracle PL / SQL:SYSDATE与’DD-MMM-YY’的区别?

在Oracle中,DATE值 – 尽管名称 – 也包含时间部分. SYSDATE包含当前日期和当前时间(最多秒).默认情况下,Oracle工具(愚蠢地)隐藏DATE值的时间部分.如果您运行&#xff1a;select to_char(sysdate,yyyy-mm-dd hh24:mi:ss) as sysdatefrom dual;你可以看到.所以SYSDATE可能是201…

维持硒测试自动化的完美方法

毫无疑问&#xff0c; 自动浏览器测试已经改变了软件开发的工作方式。 如果不是Selenium&#xff0c;我们将无法像我们一样使用各种各样的无错误Web应用程序。 但是有时&#xff0c;甚至IT部门也误解了自动化一词。 大多数人认为计算机将为他们完成所有测试&#xff01; 他们最…

oracle42997,oracle与db2的比较

在DB2中从客户端访问服务器端的数据库时&#xff0c;不能直接用connect命令&#xff0c;而必须先建立通信node&#xff0c;再在node的基础上建立数据库连接。在命令行的具体操作如下&#xff1a;->db2 catalog tcpip node ABC remote serverName server 50000->db2 catal…

双色球霸主网络问题_霸主–统治和管理API的地方

双色球霸主网络问题今天我们生活在一个越来越分散的世界中。 如今的计算机系统不再是在随机桌子下面的某些硬件上运行单个部门项目&#xff0c;而是大规模&#xff0c;集中甚至分散地运行。 监视和管理的需求从未改变&#xff0c;但是随着时间的推移变得越来越复杂。 如果将所有…

php验证码 php中文网,ThinkPHP 使用不同风格及中文的验证码

使用其他风格验证码在上文《ThinkPHP 验证码详解及实例》中了解了 ThinkPHP 验证码的具体用法&#xff0c;本文将进一步介绍如何使用不同风格的验证码以及使用中文验证码。上文例子使用的是默认参数&#xff0c;也就是生成 4 位的数字验证码。buildImageVerify 方法生成验证码时…

Spring Boot端口从默认更改为自定义或新端口

更改Spring Boot应用程序端口的快速指南。 application.properties文件和yml文件中的server.port属性的示例。 以及从命令行参数 SpringBootApplication&#xff0c;WebServerFactoryCustomizer 1.简介 在本教程中&#xff0c;您将学习如何在Spring Boot应用程序中更改端口。 …

java 开发人员工具_Java开发人员应该知道的5种错误跟踪工具

java 开发人员工具随着Java生态系统的发展&#xff0c;可满足不断增长的请求和用户对高性能需求的Web应用程序成为了新型的现代开发工具。 具有快速新部署的快速节奏环境需要跟踪错误&#xff0c;并以传统方法无法维持的水平获得对应用程序行为的洞察力。 在本文中&#xff0c;…

oracle定时关闭job,Oracle 定时JOB

讲一下Oracle创建临时job小窍门&#xff0c;创建Oracle临时JOB是为了临时执行调用过程或者函数&#xff0c;只调用一次。1、创建Oracle临时jobdeclareVJOB number;beginsys.dbms_job.submit(VJOB,‘PKG_RULECALL.MAKE_ALL_SAMPLE_BY_MONTH_WTH(‘‘201701‘‘,NULL);‘,Sysdat…

Apache Camel 3.2 – Camel的无反射配置

在Apache Camel项目中&#xff0c;我们正在努力开发下一个即将发布的下一个Apache Camel 3.2.0版本。 我们在Camel 3中努力研究的问题之一就是使其变得更小&#xff0c;更快。 其中一个方面是配置管理。 您可以按照12要素原则以多种方式完全配置Camel&#xff0c;以使配置与应…

oracle dbwr trace文件,ORA-01157: cannot identify/lock data file 19 - see DBWR trace file问题处理...

ORA-01157: cannot identify/lock data file 19 - see DBWR trace file问题处理告警信息&#xff1a;ORA-01157: cannot identify/lock data file 19 - see DBWR trace fileORA-01110: data file 19: /app/Oracle/oradata/users02.dbfORA-27037: unable to obtain file statusS…

java jsoup解析_3使用Jsoup解析Java中HTML文件的示例

java jsoup解析HTML是Web的核心&#xff0c;无论您是通过JavaScript&#xff0c;JSP&#xff0c;PHP&#xff0c;ASP或任何其他Web技术动态生成的&#xff0c;您在Internet上看到的所有页面都是基于HTML的。 您的浏览器实际上是解析HTML并为您呈现它。 但是&#xff0c;如果需要…

linux 命令解码空格,Shell 编程:Bash空格的那点事

先了解下bash中什么时候该用空格&#xff0c;什么时候不该用。1. 等号赋值两边不能有空格2. 命令与选项之间需要空格3. 管道两边空格可有可无我们来看看常见的问题1. 赋值时等号两边或者只有左边多了空格igigentoo ~ $ var1 testbash: var1: command not foundigigentoo ~ $ e…

使用类似Lambda的语法切换为Java中的表达式

从Java 14开始&#xff0c; switch表达式具有额外的Lambda式 &#xff08; case ... -> labels &#xff09;语法&#xff0c;它不仅可以用作语句&#xff0c;还可以用作计算为单个值的表达式。 使用新的类似Lambda的语法&#xff0c;如果标签匹配&#xff0c;则仅执行箭头…

配置linux系统ip,Linux系统IP地址配置

命令临时配置ifconfig [Network card name] 10.50.6.16 netmask 255.255.254.0或者ip addr add 10.50.6.200/23 dev [Network card name]router add default gw 10.50.6.1 #添加默认路由重启后失效ip addr add命令添加的IP地址需要使用 ip a show [Network card name]命令查看例…

【AI提示词艺术】第12期 摄影艺术构图处理和人像生成的技巧

摄影艺术构图 星空宇宙 关键词&#xff1a; 强烈的明暗对比,8k,精细的描述,相片纸,超高分辨率,无建筑的,大自然,星空&#xff0c;云朵&#xff0c;刺眼流星&#xff0c;群星&#xff0c;银河&#xff0c;仰视视角&#xff0c;广角镜头 以下是按照提示词类别整理的相关描述&a…

超音速亚原子Enterprise Java

我创建了一个视频&#xff0c;其中用Quarkus&#xff08;用于现代Java应用程序的运行时&#xff09;解释“超音速亚原子Java”。 无论您是刚开始涉足Enterprise Java领域&#xff0c;还是已经是一位经验丰富的Java EE / J2EE开发人员&#xff0c;本课程都将指导您如何在2020年构…

linux 打包排除多个目录,tar打包整个目录(可排除子目录)几种方法

例1。压缩并打包目录tar -czf small.tar.gz small(目录名) ;例2。tar zcvf backup.tar.gz site/* –excludesite/attach –excludesite/images简单解释一下&#xff1a;ls -l | grep “^-” 用来把当前目录下所有文件列出来&#xff0c;不包括子目录&#xff1b;awk ‘{print …

Kogito,ergo规则:从知识到服务,轻松自如

欢迎阅读有关Kogito倡议的博客系列的另一集&#xff0c;以及我们将Drools带入云的努力。 这些文章的目的是收集用户对我们提供给Kogito的功能的早期反馈。 在本文中&#xff0c;我们介绍了两种实现完整智能服务的新方法 &#xff1a; 独立的规则服务 集成智能工作流程和规则…

linux系统io查看计算,Linux下查看进程IO工具iopp

Linux下的IO检测工具最常用的是iostat&#xff0c;不过iostat只能查看到总的IO情况。如果要细看具体那一个程序点用的IO较高&#xff0c;可以使用iotop 。不过iotop对内核版本和Python版本有要求&#xff0c;虽然目前主流的CentOS和Ubuntu版本上都适用。不过考虑到其无法适用的…