在当前现有模式中大多数索引/约束名称是由oracle生成的,如SYS_CXXXXX,我试图将它们导出为DDL语句,这里我需要用类似PK_(表名)或PK_(表名)1。感谢在将它们导出为ddl时重命名索引名称
0
A
回答
1
可以使用ALTER命令的命名选项来重命名约束/索引:
SQL> create table t (x int primary key);
SQL> select constraint_name from user_constraints
2 where table_name = 'T';
CONSTRAINT_NAME
----------------------
SYS_C0010667
SQL> alter table t rename constraint sys_c0010667 to t_pk;
SQL> select constraint_name from user_constraints
2 where table_name = 'T';
CONSTRAINT_NAME
----------------------
T_PK
SQL> select index_name from user_indexes where table_name = 'T';
INDEX_NAME
----------------------
SYS_C0010667
SQL> alter index sys_c0010667 rename to t_pk;
Индекс изменен.
SQL> select index_name from user_indexes where table_name = 'T';
INDEX_NAME
----------------------
T_PK
+0
感谢德米特里,这可能锻炼,如果我们需要在现有schmema中的更改。但在这里我正在尝试创建schmea导出脚本。这种模式导出的结果是一些DDL语句,我试图重命名DDL statemetns中的索引名称,这可以让我们有我们确定的索引/约束名称 – user2142732
+0
在这种情况下,您可以仅替换CLOB数据中的对象名称GET_DDL函数返回 - 使用replace ()函数。 –
相关问题
- 1. 重命名文件,如“名称+索引”
- 2. 将jquery.js重命名为其他名称
- 3. 代理lotus:detach file ...并将它们重命名为加入时间
- 4. XSLT:在重命名时将元素名称设置为属性
- 5. VBA名称 - 它们在哪里引用?
- 6. 重命名索引值
- 7. ServiceStack V4元数据索引页面 - 重命名操作名称
- 8. 重命名文件名索引
- 9. 将index_id翻译为索引名称
- 10. Python:如何找到重复的文件夹名称并重命名它们?
- 11. 当它们的名称与它们返回的数据类型相同时,属性被重命名
- 12. 移动照片并重命名它们,如果它们存在?
- 13. 在elasticsearch索引中重命名doctype
- 14. 在PHP中重命名数组索引
- 15. 捆绑到commonjs时重命名导入名称?
- 16. 重命名jar包名称
- 17. 在SQL中导出帖子名称,然后重新使用它们[Wordpress/Woocommerce/SQL]
- 18. UIButton的名称不改变它从UITablView索引单元名称
- 19. 使用JFileChooser将名称命名为PDF
- 20. 将具有重复名称的MySQL索引转换为PostgreSQL
- 21. 通过list()变量名称而不是索引在R中重命名
- 22. 重命名的文件集时,旧名新名称在Python3
- 23. 将图像命名为导航栏名称
- 24. Python3将文件重命名为从txt文件导入新名称的目录
- 25. 通过它们的出现比例检索名称
- 26. OrderBy命名索引
- 27. 重命名add_index:在ActiveRecord中的名称
- 28. 在geokettle中重命名字段名称
- 29. 在MyEclipse中重命名项目名称
- 30. 警告:ionic.project已被重命名为ionic.config.json,请重命名它
你尝试过什么?你有没有研究过如何完成这件事? – mathielo
did try this spool create_indexes.sql SELECT DBMS_METADATA.GET_DDL('INDEX',u.index_name)DDL FROM USER_INDEXES u; 假脱机; 与此我正在创建脚本中获取现有的索引名称,而不是我试图用名称可以很容易地识别 – user2142732