gpt4 book ai didi

oracle - 使用 Toad 将 Excel 电子表格导入 Oracle

转载 作者:行者123 更新时间:2023-12-04 21:40:41 28 4
gpt4 key购买 nike

我正在尝试使用 Toad 将 Excel 电子表格导入 Oracle。问题是我要导入的表有一个主键字段,我使用“sequence”.nextval 来填充正常的存储过程插入。

使用 Toad 导入向导,我尝试将 'table_seq.nextval' 作为表达式输入,但是当我最后执行向导时出现错误:无法将类型的变体 (UnicodeString) 转换为类型 (Double)。

那么是否可以通过 Toad 导入向导使用 sequence.nextval 导入 Excel 数据,还是有更好的方法?

我还考虑了让 Excel 通过启动超出当前表中的种子的种子来生成 key 。但是作为 Oracle 的新手,这会扰乱我为表设置的顺序吗?例如,如果在插入之前,下一个可用 ID 是 500,并且 Excel 中的插入插入的行从 500 到 5000,那么下一次执行该表序列的存储过程是否会尝试使用 500?

提前致谢!

最佳答案

是的,序列将保持在 50,您将得到 primary key violated使用存储过程时出现异常。

那是因为序列没有以任何方式链接到表。并且无法链接。它们是分离的对象。

我看到的最好的方法是使用触发器 on insert for each row这会将 id 设置为 nextval .

代码示例:

CREATE OR REPLACE TRIGGER trg_table_name_set_id
BEFORE INSERT
ON table_name
FOR EACH ROW
BEGIN

SELECT table_seq.nextval INTO :new.id FROM DUAL; --id would be the id column in your table

--or, if you are on 11g, simply
--:new.id := table_seq.nextval;

END trg_table_name_set_id;

关于oracle - 使用 Toad 将 Excel 电子表格导入 Oracle,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13841399/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com