CREATE VIEW UOS_VU_COURSE_MODULES
SELECT MODULE.MODULE_TITLE, STAFF.FIRST_NAME, STAFF.LAST_NAME, MODULE.SEMESTER, MODULE.CREDIT
FROM STAFF, MODULE
WHERE MODULE.COODINATOR_ID =STAFF.STAFF_ID AND COURSE.COURSE_ID=INFU101 AND
COURSE.COURSE_ID=MGTU17
ORDER BY MODULE.MODULE_TITLE
出现ORA-00905:缺少关键字。
答案 0 :(得分:2)
缺少AS
关键字:
CREATE VIEW UOS_VU_COURSE_MODULES
AS
SELECT
MODULE.MODULE_TITLE, STAFF.FIRST_NAME, STAFF.LAST_NAME,
MODULE.SEMESTER, MODULE.CREDIT
FROM
STAFF, MODULE
WHERE
MODULE.COODINATOR_ID = STAFF.STAFF_ID AND COURSE.COURSE_ID = INFU101 AND
COURSE.COURSE_ID = MGTU17
ORDER BY MODULE.MODULE_TITLE
参考:CREATE VIEW
答案 1 :(得分:1)
您的代码存在一些问题。
当然,AS是必需的。
大写代码风格真的难以阅读,这就是为什么高速公路路标不再使用它了。
连接样式已过时,您应该使用ANSI SQL方法。
你在course.course_id上有两个谓词看起来应该是文字,但不幸的是如果它们相互矛盾的话。
无论如何,你应该有一些看起来更可支持的东西:
create view
uos_vu_course_modules
as
select
module.module_title,
staff.first_name ,
staff.last_name ,
module.semester ,
module.credit
from
staff join
module on (module.coodinator_id = staff.staff_id)
where
course.course_id = 'INFU101' and
course.course_id = 'MGTU17'
order by
module.module_title;
也许WHERE子句应该是
course.course_id = 'INFU101' or
course.course_id = 'MGTU17'
答案 2 :(得分:0)
在视图名称后添加AS
:
create view UOS_VU_COURSE_MODULES AS