CREATE OR REPLACE VIEW QIUSER.CAS_USER_ROLE_VIEW
as select
a.user_id as user_id ,
b.role_id as role_id,
c.resources_id as resources,
c.permission_id as permission_id,
d.role_name as role_name,
e.permission_name as permission_name,
f.resources_name as resources_name,
f.parent_id as parent_id,
f.url as url,
f.img_src as img_src,
f.create_date as create_date
from
(((((QIUSER.Cas_User_Role a inner join QIUSER.Cas_Role_Permission b) inner join QIUSER.Cas_Permission_Resources c) inner join QIUSER.Role d) inner join QIUSER.Permission e) inner join QIUSER.Resources f)
where (a.role_id = b.role_id) and (b.permission_id = c.permission_id) and (c.resources_id = f.id) and (b.permission_id = e.id) and (a.role_id = d.id);这是我创建视图的代码,可是在红字的地方会报缺少关键字ORA-00905: missing keyword,搞了一上午了,一点结果都没有,我是新手,公司刚开始做Oracle,所以很多地方不是很懂。请各位大侠帮帮忙了。 谢谢 ~~
解决方案 »
- 请教涉及到两个表比较差异的存储过程怎么写?
- 该sql如何用not exists
- Oracle 数据库数据丢失,急
- 求一条SQL语句。半天想不出来,汗~~~~~~~
- 为什么我用raise_exception_error后,前边的sql语句都不执行了?
- "Note:From Oracle 10g you don't need to put the "/AS SYSDBA" in quotes anymore."是什么意思?
- 请问可以在已经有数据的table中修改栏位吗
- 关于Group后取第一条的问题
- oracle创建物化视图一直执行
- 求个sql统计数据
- oracle存储过程包与包主体实例,求助。。。。
- 触发器报错,为什么
select * from a
inner join b
on a.id=b.id
CREATE OR REPLACE VIEW QIUSER.CAS_USER_ROLE_VIEW
AS
SELECT A.USER_ID AS USER_ID,
B.ROLE_ID AS ROLE_ID,
C.RESOURCES_ID AS RESOURCES,
C.PERMISSION_ID AS PERMISSION_ID,
D.ROLE_NAME AS ROLE_NAME,
E.PERMISSION_NAME AS PERMISSION_NAME,
F.RESOURCES_NAME AS RESOURCES_NAME,
F.PARENT_ID AS PARENT_ID,
F.URL AS URL,
F.IMG_SRC AS IMG_SRC,
F.CREATE_DATE AS CREATE_DATE
FROM QIUSER.CAS_USER_ROLE A
INNER JOIN QIUSER.CAS_ROLE_PERMISSION
ON A.ROLE_ID = B.ROLE_ID
INNER JOIN QIUSER.CAS_PERMISSION_RESOURCES C
ON B.PERMISSION_ID = C.PERMISSION_ID
INNER JOIN QIUSER.ROLE D
ON C.RESOURCES_ID = F.ID
INNER JOIN QIUSER.PERMISSION E
ON B.PERMISSION_ID = E.ID
INNER JOIN QIUSER.RESOURCES F
ON A.ROLE_ID = D.ID
;
如果按照你这样做的话, F.id就找不到了吧,F是在下面声明的啊 ~~
--inner join这么写一样
CREATE OR REPLACE VIEW QIUSER.CAS_USER_ROLE_VIEW
AS
SELECT A.USER_ID AS USER_ID,
B.ROLE_ID AS ROLE_ID,
C.RESOURCES_ID AS RESOURCES,
C.PERMISSION_ID AS PERMISSION_ID,
D.ROLE_NAME AS ROLE_NAME,
E.PERMISSION_NAME AS PERMISSION_NAME,
F.RESOURCES_NAME AS RESOURCES_NAME,
F.PARENT_ID AS PARENT_ID,
F.URL AS URL,
F.IMG_SRC AS IMG_SRC,
F.CREATE_DATE AS CREATE_DATE
FROM QIUSER.CAS_USER_ROLE A,
QIUSER.CAS_ROLE_PERMISSION B,
QIUSER.CAS_PERMISSION_RESOURCES C,
QIUSER.ROLE D,
QIUSER.PERMISSION E,
QIUSER.RESOURCES F
WHERE A.ROLE_ID = B.ROLE_ID
AND B.PERMISSION_ID = C.PERMISSION_ID
AND C.RESOURCES_ID = F.ID
AND B.PERMISSION_ID = E.ID
AND A.ROLE_ID = D.ID;