create or replace trigger UserInfoTrigger
after insert on ms_userinfo
referencing New as new_value Old as old_value
for each row
declare
v_roleidtemp number;
begin
select id into v_roleidtemp from ms_roleinfo where rolename=:old_value.rolename;
insert into ms_userinfo (password,roleid) values(888888,v_roleidtemp);
end;我有两个表 ,一个是用户表 字段为 ID ,用户名,密码,角色id,角色名
另外一个表为角色表 字段为 角色id,角色名我写的这个触发器的想法是 ,当用户表的角色名插入一个值,就根据角色表找到相对应的角色ID,插入用户表的角色ID中,
然后密码字段自动插入‘888888’
现在运行触发器没有问题,但是当给用户表做插入操作时,
这一句 “select id into v_roleidtemp from ms_roleinfo where rolename=:old_value.rolename;”
提示“找到不到数据”,请大侠帮忙看看,万分感谢
after insert on ms_userinfo
referencing New as new_value Old as old_value
for each row
declare
v_roleidtemp number;
begin
select id into v_roleidtemp from ms_roleinfo where rolename=:old_value.rolename;
insert into ms_userinfo (password,roleid) values(888888,v_roleidtemp);
end;我有两个表 ,一个是用户表 字段为 ID ,用户名,密码,角色id,角色名
另外一个表为角色表 字段为 角色id,角色名我写的这个触发器的想法是 ,当用户表的角色名插入一个值,就根据角色表找到相对应的角色ID,插入用户表的角色ID中,
然后密码字段自动插入‘888888’
现在运行触发器没有问题,但是当给用户表做插入操作时,
这一句 “select id into v_roleidtemp from ms_roleinfo where rolename=:old_value.rolename;”
提示“找到不到数据”,请大侠帮忙看看,万分感谢
解决方案 »
- Ubuntu 12.04 64位的系统安装oracle10g(64位) ,安装数据库实例时出现问题。
- 刚刚涉足ORACLE。请介绍本ORACLE的书
- oracle10g 如何把审计内容记录到文件中?
- datetime字段UPDATE的问题。。
- butween 的奇怪问题
- 事务回滚时,怎么使有的Sql语句不被rollback?
- 请教:如何将oracle库中的表结构(表数量很大)生成表定义脚本文件,急(在线等)
- ORACLE中,根据条件执行相应操作的语句如何写?
- 关于oracle中数据选择问题
- oracommon10.dll如何修复?不修复的情况下如何备份数据库?
- plsql在工具-首选项-连接-配置oracle主目录名和OCI库不成功
- 一句sql问题
如果不存在,就会存在no_data_found异常
--给你改了下:
create or replace trigger UserInfoTrigger
before insert on ms_userinfo
for each row
declare
v_roleidtemp number;
begin
select id into v_roleidtemp from ms_roleinfo where rolename=:NEW.rolename;
:NEW.password:=888888;
:NEW.roleid :=v_roleidtemp;
exception when others then
null ;
end;
-------->
:new_value.roleid :=v_roleidtemp;你这里的insert应该是这个意思吧?要不这里又insert,又触发一边trigger,不是刚好没有rolename的值吗?
万分感谢