【问题标题】:Creating view in oracle using multiple queries使用多个查询在 oracle 中创建视图
【发布时间】:2017-07-05 15:03:50
【问题描述】:

我有 2 张桌子:

create table my_users
( userid number,
  username varchar(20)
 );

create table all_users
( userid number,
  username varchar(20)
 );

我想创建一个视图,相当于:

select * from all_users;
MINUS
select * from my_users;

但是,当我尝试使用以下内容创建视图时出现错误:

create of replace view 'vw_users' as
select * from all_users;
MINUS
select * from my_users;

我用的是Oracle12c数据库。

【问题讨论】:

  • 什么错误?除了在第一个分支之后有一个额外的分号之外?并且将视图名称放在单引号中(而不是双引号,这将使它成为带引号的标识符,这会在以后给您带来痛苦)? (正如 Gurv 所说,用 'of' 而不是 'or')
  • create or replace
  • 命令中从第 3 行开始的错误:MINUS 错误报告:未知命令>>查询运行:查询结果 1
  • 你有一个 GurV 告诉你的小贴士。你必须使用or 而不是of
  • 不要编辑问题来解决您被告知的问题 - 它会使现有答案无效。尽管它现在实际上是您运行的代码,并且这是您遇到的唯一错误,但问题毕竟只是分号......

标签: sql oracle oracle12c database-view


【解决方案1】:

三个错别字:

  • ofcreate of replace
  • select * from all_users; 中的分号
  • 在单引号中查看名称

试试这个:

create or replace view "vw_users" as
select * from all_users
MINUS
select * from my_users;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-14
    • 2019-03-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多