我有2种模式/如图所示表:有什么方法可以引用具有不同数据类型的列?
CREATE TABLE schema1.code_tbl
(code CHAR(6) PRIMARY KEY,
description CHAR(30)
);
CREATE TABLE schema2.record_tbl
(rec_id VARCHAR(10) PRIMARY KEY,
curr_code VARCHAR(6),
remarks VARCHAR(30)
);
我需要CODE_TBL
创建从curr_code
在RECORD_TBL
到code
的外键引用。
ALTER TABLE schema2.record_tbl
ADD CONSTRAINT record_code_fk
FOREIGN KEY (curr_code)
REFERENCES schema1.code_tbl (code);
这显然给了我一个ORA-02267
(列类型与引用的列不兼容)错误。
我无法更改CODE_TBL
中的代码列,因为我没有拥有或控制schema1。我无法更改RECORD_TBL
中的curr_code
列,因为它会破坏我应用程序中的许多功能,因为我们不考虑尾随空格。
是否有任何其他方式来强制执行2列之间的参照完整性?
谢谢你的回答。我已经在我的本地设置上进行了测试,效果很好。虽然我的老板和DBA会批准这样的措施(改变生产中的表格结构总是有点棘手),但我仍然可以肯定地说,从技术上讲这是一个可行的解决方案。 – sml485