我正在尝试为我的一个表创建一个备份表(在一个函数中),
CREATE TABLE TBTestBackup
(
colum1 user.TBTest.colum1%type,
colum2 user.TBTest.colum2%type,
colum3 user.TBTest.colum3%type
colum31 user.TBTest.colum3%type, --new column with same type as colum3
colum4 user.TBTest2.column15type, --column from other table
colum4 CHAR (12 BYTE), --new column with fixed type
) TABLESPACE user_DATA
但是我把这行不通了,现在我的问题是我怎样才能让它尽可能地动态化,这样我就不必每次更改数据类型时都在备份脚本中更新数据类型,例如:
VARCHAR2(24 CHAR)
至VARCHAR2(50 CHAR)
(表列是固定的,它们不会改变)这不会经常发生,但我们不得不这样做一些时候,因为该字段对于特定值来说不够大,然后没有人更新备份表和 id 给出了一些错误.
编辑:我忘记了一些必要的事情:
- 我必须添加 2 个不在原始表中的列,但应具有与现有表之一相同的数据类型。我可以使用 select as 所以它的类型相同但名称不同吗?如果是,我该怎么做?
- 和一些来自不同表的字段(所以我必须使用连接)
和:
- 具有来自多个表的类型的多个列
- 具有固定类型的新列
- 具有变量类型的新列,例如表 ABC 中的列 XY