【发布时间】:2013-04-09 21:09:52
【问题描述】:
我想在 oracle 中创建一个新模式,我使用了示例代码,该示例代码可用 here
CREATE SCHEMA AUTHORIZATION oe
CREATE TABLE new_product
(color VARCHAR2(10) PRIMARY KEY, quantity NUMBER)
CREATE VIEW new_product_view
AS SELECT color, quantity FROM new_product WHERE color = 'RED'
GRANT select ON new_product_view TO scott
/
但是,出现错误
ERROR at line 1:
ORA-02421: missing or invalid schema authorization identifier
另外,请帮助我如何列出所有可用架构的名称。我正在使用
select username from dba_users;
列出架构,但我认为这不是正确的方法,因为用户和架构具有多对多关系,这意味着我无法在这里获取所有架构名称。
请帮帮我!!
【问题讨论】:
-
在oracle用户和模式中不有多对多的关系(实际上区别是语义上的——它们是完全一样的)
-
为什么?一个用户可以有多个模式,一个模式可以与多个用户相关联。不是吗?
-
在 oracle 中
user和schema几乎相同。见this post -
@A.B.Cade - 您链接的那个线程包含一个已删除的帖子,该帖子链接到我写的关于这个主题的博客文章(我没有发布那个回复)。一个 mod 删除了它,因为 SO 不赞成只是链接的答案,但我认为这篇文章是相关的,因为它解释了为什么 USER 和 SCHEMA 不是一回事:radiofreetooting.blogspot.com/2007/02/user-schema.html
-
@APC,感谢您的链接,这是一个很棒的帖子。我知道它们不一样(这就是为什么我在我的 cmets 中使用了
quite、pretty much和think as之类的词)并且我也很内疚 将它们互换使用你写得真好……
标签: oracle schema authorization database-schema