替换列名中的特定字符
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_columns
的 SELECT
权限。注意区分大小写。
玩得开心 ;)
我有同样的需求,我必须在一千多个字段中用“”替换“”。我用 Excel 做了它,在那里我进行了连接以获得一千个不同的请求,例如:
alter table a 将列“a134 60 000”重命名为“a134_____60_000”;
不是很性感...但在几分钟内解决了!
我有两个字段:
-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_columns
的 SELECT
权限。注意区分大小写。
玩得开心 ;)
我有同样的需求,我必须在一千多个字段中用“”替换“”。我用 Excel 做了它,在那里我进行了连接以获得一千个不同的请求,例如: alter table a 将列“a134 60 000”重命名为“a134_____60_000”; 不是很性感...但在几分钟内解决了!