Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 如何在Oracle中使用自定义类型的引用语句?_Sql_Oracle_Oracle11g - Fatal编程技术网

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更有效