Sql 如何在Oracle中使用自定义类型的引用语句?
我有以下代码:Sql 如何在Oracle中使用自定义类型的引用语句?,sql,oracle,oracle11g,Sql,Oracle,Oracle11g,我有以下代码: Create TYPE Umpire As OBJECT(UmpireID INTEGER PRIMARY KEY, UmpireName VARCHAR2(50),UmpireAddress VARCHAR2(50), UmpireContact VARCHAR2(50), MEMBER FUNCTION get_results RETURN VARCHAR2, MEMBER PROCEDURE set_results (UmpireID INTEGER,UmpireName
Create TYPE Umpire As OBJECT(UmpireID INTEGER PRIMARY KEY,
UmpireName VARCHAR2(50),UmpireAddress VARCHAR2(50), UmpireContact VARCHAR2(50),
MEMBER FUNCTION get_results RETURN VARCHAR2,
MEMBER PROCEDURE set_results
(UmpireID INTEGER,UmpireName VARCHAR2(50),UmpireAddress VARCHAR2(50),UmpireContact VARCHAR2(50));
Create table Certificate(UmpireId INTEGER,CertificateUpdated CHAR, FOREIGN KEY (UmpireId) REFERENCES Umpire(UmpireId));
我有以下错误:架构创建失败:ORA-00942:表或视图不存在
如何在Oracle中使用带有自定义类型的REFERENCES语句?出于引用目的,您需要使用以下语法
CREATE TABLE parent (
id INT NOT NULL,
PRIMARY KEY (id)
) ENGINE=INNODB;
CREATE TABLE child (
id INT,
parent_id INT,
INDEX par_ind (parent_id),
FOREIGN KEY (parent_id)
REFERENCES parent(id)
ON DELETE CASCADE
) ENGINE=INNODB;
此外,如果试图访问另一个架构中的表或视图,请确保引用了正确的架构,并且授予了对对象的访问权限
是否尝试从同一数据库用户运行select和insert?您可以在SQLPLUS中显示从连接到断开连接的会话吗?你能给出函数的定义吗
如果您在模式a中创建了一个表,在模式B中创建了一个函数,那么您应该了解一下Oracle的Invoker/Definer Rights概念,以了解可能导致此问题的原因
我希望这会有所帮助。裁判员是一种类型,它没有数据,所以外键如何引用它?你所拥有的并不比引用intsomeid更有效