你这句话有什么意义?R.role_id 似乎应该是主健,唯一的记录已经确定,set R.right=标量 也是确定的
表M有什么用?把你的那句SQL翻译成ORACLE支持的语句应该是这样: update t_sys_right_role R
set right = ( select '3'
from t_sys_modules M
where module_id = R.module_id
and parent_id = '021211030640')
where R.role_id = '20030409032744'
但是这解释得通吗?
表M有什么用?把你的那句SQL翻译成ORACLE支持的语句应该是这样: update t_sys_right_role R
set right = ( select '3'
from t_sys_modules M
where module_id = R.module_id
and parent_id = '021211030640')
where R.role_id = '20030409032744'
但是这解释得通吗?
update t_sys_right_role set right='3' where role_id='20030409032744'and module_id in (select module_id from t_sys_modules parent_id='021211030640');
用子查询做条件就可以了,能实现的
试一下吧!
我的role_id在这个表中不是主健,
t_sys_right_role表的结构是这样的!!
role_id
module_id
right
role_id和module_id和起来为主健。
我现在是要更新role_id = '20030409032744'并且父模块id=021211030640'的right='3'
但t_sys_right_role表中没有夫模块id所以和t_sys_modules建立关联!!
你的翻译我不明白!!但不应该是这样的!!
role_id = '20030409032744'并且父模块id=021211030640'
是条件!!
update t_sys_right_role set right='3' where role_id='20030409032744'and
module_id in (select module_id from t_sys_modules parent_id='021211030640');
用这条语句不是能实现了?
update t_sys_right_role set right='3' where role_id='20030409032744'and
module_id in (select module_id from t_sys_modules WHERE parent_id='021211030640');
用这条语句不是能实现了?