我正在处理的数据库最初是原型(由其他人),所有主键(和相关的外键)都是字符串。键确实需要是数字。
数据库有16个表,其中包含最少的测试数据。所有数据都在关键字段中有数字。
我最简单的解决方法是什么?
答案 0 :(得分:1)
不确定“最小测试数据”究竟是什么意思,但您可以使用SQL Developer执行此操作:
答案 1 :(得分:0)
我创建了一个SQL脚本来对单个关联进行更改,然后我将修改并重复20次。
我做了第一个表(MODULES.ID到MODULE_SESSIONS.MODULE_ID关联)并且它有效。 这是我使用的脚本:
alter table MODULE_SESSIONS drop constraint FK_MODULE_MODULE_SESSION_FK1;
alter table MODULES drop constraint MODULES_PK;
alter table MODULES rename column ID to OLD;
alter table MODULES add ID INTEGER;
update MODULES set ID = OLD;
alter table MODULES drop column OLD;
alter table MODULE_SESSIONS rename column MODULE_ID to OLD;
alter table MODULE_SESSIONS add MODULE_ID INTEGER;
update MODULE_SESSIONS set MODULE_ID = OLD;
alter table MODULES add constraint MODULE_PK primary key(ID);
alter table MODULE_SESSIONS add constraint FK_MODULE_MODULE_SESSION_FK1 foreign key(MODULE_ID) references MODULES(ID);
alter table MODULE_SESSIONS drop column OLD;