替换列名中的特定字符

Replace a specific character in column names

我有两个字段:

-name
-address

如何更改特定字母?例如:'a' 更改为 'o' 因此字段名称变为:

-nome
-oddress

我已经尝试 this 但它不起作用。感谢任何帮助。

这是你想要的吗?

ALTER TABLE table_name
  RENAME COLUMN old_name to new_name;

此脚本将属于所有者 SCOTT 的所有 table 的所有列名称中的所有 A 替换为 O 的:

DECLARE
  CURSOR alters IS
  SELECT 'ALTER TABLE ' || owner || '.' || table_name || ' RENAME COLUMN ' || 
          column_name ||' TO ' || REPLACE (column_name, 'A', 'O') AS statement
    FROM dba_tab_columns
   WHERE owner = 'SCOTT'
     AND column_name LIKE '%A%';
BEGIN
  FOR rec IN alters LOOP
    EXECUTE IMMEDIATE rec.statement;
  END LOOP;
END;

您需要 table dba_tab_columnsSELECT 权限。注意区分大小写。

玩得开心 ;)

我有同样的需求,我必须在一千多个字段中用“”替换“”。我用 Excel 做了它,在那里我进行了连接以获得一千个不同的请求,例如: alter table a 将列“a134 60 000”重命名为“a134_____60_000”; 不是很性感...但在几分钟内解决了!