如何在创建视图时同时创建一个在视图上面的约束
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
该视图创建成功
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
该视图创建成功
解决方案 »
- 求改oracle语句
- ORACLE 使用xmlagg获得clob输出问题
- 触发器的问题
- 异构表之间数据互导问题
- 根据B表的数据过滤A表记录的问题
- oracle10g权限设置
- 如何导出表、视图、触发器的sql脚本??
- varchar2 的字段为空在查询的时候应该怎么写条件?
- 请问有谁考过OCP认证, 谈谈你们的想法和看法! 让我们一起交流好吗?
- 急需帮助:我的OracleOraHome81ManagementServer服务启动不起来了(在线等待)
- oracle中,function如何调用procedure,在线等
- 请教各位大侠一个关于数据库联机重做日志损坏导致数据库不可用的为题(很急啊,大家帮帮忙!)
视图上不能,可以通过创建视图的sql实现相同的功能。