替换列名称中的特定字符

1 sql oracle replace

我有两个领域:

-name
-address
Run Code Online (Sandbox Code Playgroud)

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

-nome
-oddress
Run Code Online (Sandbox Code Playgroud)

我已经尝试过了,但是没有用。任何帮助表示赞赏。

Tri*_*mon 5

这个脚本替换所有A的属于业主所有表的列名SCOTTO“S:

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;
Run Code Online (Sandbox Code Playgroud)

您需要SELECT在表上拥有权限dba_tab_columns。请注意,它区分大小写。

玩得很开心 ;)