Sql 加上如何复制带时间戳的 table
Sql Plus how to copy a table with timestamp
我正在尝试从 SqlPlus 中的远程数据库复制数据。
我有一个像这样的来源 table
table_name: source_table
seqId | createDate
1 | 10-SEP-02 02.10.10.123000 AM
2 | 10-SEP-01 02.10.10.123000 AM
seqId 是一个数字,createDate 是一个时间戳。
我试图通过以下方式将数据复制到我的 table:
COPY FROM &user_name/&password@&database
REPLACE x_source_table USING
SELECT *
FROM source_table;
但它抛出无效数据错误。
然后我尝试在
的语法中转换 createDate
COPY FROM &user_name/&password@&database
REPLACE x_source_table USING
SELECT cast(createDate as Date) as createDate
FROM source_table;
尝试只复制 createDate 但它也不起作用。
由于 COPY
命令不支持 TIMESTAMP 数据类型,因此您无法使用 COPY
。我发现了这个:"The COPY command is not being enhanced to handle datatypes or features introduced with, or after Oracle8. The COPY command is likely to be made obsolete in a future release. "。这是 10g 的一些文档:https://docs.oracle.com/cd/B19306_01/server.102/b14357/apb.htm.
您将不得不寻找替代方法。您可以这样做或改用其他方法吗:
truncate x_dest_table;
insert into x_dest_table select <column_list> from x_source_table
-- or from x_source_table@dblink if you have a database link;
commit;
或者可以使用 export/import?或者获取源 table 的 csv 并使用 sqlldr 加载它?
至少你有一些选择。让我们知道你最终做了什么。
我正在尝试从 SqlPlus 中的远程数据库复制数据。 我有一个像这样的来源 table
table_name: source_table
seqId | createDate
1 | 10-SEP-02 02.10.10.123000 AM
2 | 10-SEP-01 02.10.10.123000 AM
seqId 是一个数字,createDate 是一个时间戳。
我试图通过以下方式将数据复制到我的 table:
COPY FROM &user_name/&password@&database
REPLACE x_source_table USING
SELECT *
FROM source_table;
但它抛出无效数据错误。
然后我尝试在
的语法中转换 createDateCOPY FROM &user_name/&password@&database
REPLACE x_source_table USING
SELECT cast(createDate as Date) as createDate
FROM source_table;
尝试只复制 createDate 但它也不起作用。
由于 COPY
命令不支持 TIMESTAMP 数据类型,因此您无法使用 COPY
。我发现了这个:"The COPY command is not being enhanced to handle datatypes or features introduced with, or after Oracle8. The COPY command is likely to be made obsolete in a future release. "。这是 10g 的一些文档:https://docs.oracle.com/cd/B19306_01/server.102/b14357/apb.htm.
您将不得不寻找替代方法。您可以这样做或改用其他方法吗:
truncate x_dest_table;
insert into x_dest_table select <column_list> from x_source_table
-- or from x_source_table@dblink if you have a database link;
commit;
或者可以使用 export/import?或者获取源 table 的 csv 并使用 sqlldr 加载它?
至少你有一些选择。让我们知道你最终做了什么。