如何在创建视图时同时创建一个在视图上面的约束

七年 2008-02-22 01:13:34
如何在创建视图时同时创建一个在视图上面的约束
CREATE VIEW emp_sal (emp_id, last_name,
email UNIQUE RELY DISABLE NOVALIDATE,
CONSTRAINT id_pk PRIMARY KEY (emp_id) RELY DISABLE NOVALIDATE)
AS SELECT employee_id, last_name, email FROM employees;
该例摘自oracle 9i sql用户手册
我的sql语句为:
CREATE OR REPLACE VIEW dept20
(
EMPLOYEE_ID,EMPLOYEE, DEPARTMENT_ID,
CONSTRAINT ch CHECK (DEPARTMENT_ID = 20) RELY DISABLE NOVALIDATE
)
AS
SELECT empno ,ename ,deptno
FROM emp
WHERE deptno = 20
WITH CHECK OPTION CONSTRAINT ch/

CONSTRAINT ch CHECK (DEPARTMENT_ID = 20) RELY DISABLE NOVALIDATE
*
ERROR 位于第 3 行:
ORA-00904: 无效列名

未找到解决方法?

现象一:
CREATE OR REPLACE VIEW dept20
(
EMPLOYEE_ID,EMPLOYEE, DEPARTMENT_ID,
CONSTRAINT ch PRIMARY KEY (DEPARTMENT_ID) RELY DISABLE NOVALIDATE
)
AS
SELECT empno ,ename ,deptno
FROM emp
WHERE deptno = 20

该视图创建成功
...全文
90 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
qiuyuwen 2008-02-22
  • 打赏
  • 举报
回复
只能在基表上创建约束。
视图上不能,可以通过创建视图的sql实现相同的功能。

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧