CREATE TABLE USER_TYPE_LIST( USER_INTEGRAL_TYPE NUMBER, INTEGRAL_END NUMBER, CAPTION VARCHAR2(30), ID NUMBER ); CREATE TABLE T_USER (NAME VARCHAR2(20), INTEGRAL NUMBER, TYPE NUMBER ); insert into USER_TYPE_LIST(id,User_Integral_Type,Integral_End,Caption) values(1,1,50,'体验用户'); insert into USER_TYPE_LIST(id,User_Integral_Type,Integral_End,Caption) values(2,2,100,'普通用户'); insert into USER_TYPE_LIST(id,User_Integral_Type,Integral_End,Caption) values(3,3,200,'会员'); insert into USER_TYPE_LIST(id,User_Integral_Type,Integral_End,Caption) values(4,4,400,'VIP'); insert into USER_TYPE_LIST(id,User_Integral_Type,Integral_End,Caption) values(5,5,800,'银卡'); insert into USER_TYPE_LIST(id,User_Integral_Type,Integral_End,Caption) values(6,6,1500,'白金卡'); insert into USER_TYPE_LIST(id,User_Integral_Type,Integral_End,Caption) values(7,7,2000,'钻石卡');insert into t_user values('test',10,1);select * from USER_TYPE_LIST; select * from t_user;--创建触发器 create or replace trigger updateUserType before update on t_user for each row declare IntLevel number; score number; begin score:=:new.integral;--获取更新后的积分 select max(User_Integral_Type)+1 into IntLevel from(select User_Integral_Type from USER_TYPE_LIST t where t.integral_end<score);--查询对应等级 --dbms_output.put_line(IntLevel); :new.type:=IntLevel;--更新用户等级 end updateUserType;update t_user set integral=200 where name='test';--测试
二楼的 大大 能不能把 select max(User_Integral_Type)+1 into IntLevel from(select User_Integral_Type from USER_TYPE_LIST t where t.integral_end<score);--查询对应等级这句解释一下 看不懂耶 select into是啥意思
CREATE TABLE USER_TYPE_LIST(
USER_INTEGRAL_TYPE NUMBER,
INTEGRAL_END NUMBER,
CAPTION VARCHAR2(30),
ID NUMBER
);
CREATE TABLE T_USER
(NAME VARCHAR2(20),
INTEGRAL NUMBER,
TYPE NUMBER
);
insert into USER_TYPE_LIST(id,User_Integral_Type,Integral_End,Caption) values(1,1,50,'体验用户');
insert into USER_TYPE_LIST(id,User_Integral_Type,Integral_End,Caption) values(2,2,100,'普通用户');
insert into USER_TYPE_LIST(id,User_Integral_Type,Integral_End,Caption) values(3,3,200,'会员');
insert into USER_TYPE_LIST(id,User_Integral_Type,Integral_End,Caption) values(4,4,400,'VIP');
insert into USER_TYPE_LIST(id,User_Integral_Type,Integral_End,Caption) values(5,5,800,'银卡');
insert into USER_TYPE_LIST(id,User_Integral_Type,Integral_End,Caption) values(6,6,1500,'白金卡');
insert into USER_TYPE_LIST(id,User_Integral_Type,Integral_End,Caption) values(7,7,2000,'钻石卡');insert into t_user values('test',10,1);select * from USER_TYPE_LIST;
select * from t_user;--创建触发器
create or replace trigger updateUserType
before update on t_user
for each row
declare
IntLevel number;
score number;
begin
score:=:new.integral;--获取更新后的积分
select max(User_Integral_Type)+1 into IntLevel from(select User_Integral_Type from USER_TYPE_LIST t where t.integral_end<score);--查询对应等级
--dbms_output.put_line(IntLevel);
:new.type:=IntLevel;--更新用户等级
end updateUserType;update t_user set integral=200 where name='test';--测试
select max(User_Integral_Type)+1 into IntLevel from(select User_Integral_Type from USER_TYPE_LIST t where t.integral_end<score);--查询对应等级这句解释一下 看不懂耶
select into是啥意思