缩短Oracle中的表名

时间:2015-10-01 08:43:12

标签: oracle vba oracle11g url-shortener

我有一个要求,我从user_tables读取table_name,并在运行时在table_name之后追加6个字母,例如

prev_table_name= F_ALIGN_PROF_PRD_MTH_SLS_NM2
New_table_name = prev_table_name_ABCDE 

所以新的表名超过了30个字符的限制,我收到了错误。

要解决这个问题,我正在寻找一种方法,这样我就可以在运行时缩短table_name,并将我的6个字母附加到它。

请建议解决此问题的任何方法

4 个答案:

答案 0 :(得分:1)

那么这样的事情呢?

{{1}}

答案 1 :(得分:0)

你想要这样的结果吗?

select SUBSTR('prev_table_name_ABCDE' , 1, 6) from dual 

Result : prev_t

如果您想要可读名称,可以使用最后的'_'

 SELECT SUBSTR('prev_table_name_ABCDE', 1 ,INSTR('prev_table_name_ABCDE', '_',1,3)-1)
FROM dual;

Result :prev_table_name

答案 2 :(得分:0)

我找到了一种方法(它是一种临时解决方案,但它会起作用)

阅读表格名称并删除其中的所有元音和数字。

答案 3 :(得分:0)

如何创建一个新表来存储旧的和新的表名?

my_table
  oldname F_ALIGN_PROF_PRD_MTH_SLS_NM2
  newname TEMP_ABCD