假如现在要做一个线上订购系统,这个系统首先有一个用户模块,所以我们要设计这个模块,首先要设计一张用户表存放
用户信息要求记录用户的用户名,密码,证件号,真实姓名,性别,生日,手机号,地址,email地址,积分,激活状态等,
其它信息可各自补充
1. 请大家设计这个用户表
--【1】
--创建表user_info
create table user_info(
ID int,
Username varchar2(10),
Pwd varchar2(100),
Idcard varchar2(100),
Real_name varchar2(100),
Sex char(2),
Birth date,
Phone_num number,
Address varchar2(100),
Email varchar2(100),
Integral number,
Active_state char(4) default 'on',
Reg_time date default sysdate,
Other_note varchar2(100)
);
--插入数据
insert into user_info
values
(1,
'dbtiger',
'123',
'42108...',
'TOM',
'男',
SYSDATE-5,
1307979887889,
'北京市海淀区...',
'824661247@qq.com',
100,
'on',
sysdate,
'VIP');
select t.*,rowid from user_info t;
2.假如现在系统已经完成,网站要做一个贴心活动,对于注册且激活了且生日即将到达的用户(生日前五天),
我们根据其注册时间的长短,送积分,积分数=注册时间月数*100,请大家用PLSQL实现这个功能
--【2】
select to_date(sysdate-5,'yyyy-mm-dd') from dual;
select to_char(sysdate-5,'yyyy-mm-dd') from dual;
select round((sysdate-t.reg_time)/30) from user_info t;
select sysdate-(sysdate-2) from dual;
select t.*,rowid from user_info t;
user_info.integral%type
declare
--定义注册时间月数
v_month number := 0;
--定义积分的变量v_integral
v_integral number := 0;
begin
select round((sysdate - t.reg_time) / 30)
into v_month
from user_info t
where to_char(t.birth, 'yyyy-mm-dd') =
to_char(sysdate - 5, 'yyyy-mm-dd');
--积分数=注册时间月数*100
v_integral := v_month * 100;
update user_info t
set t.integral = v_integral + integral
where to_char(t.birth,'yyyy-mm-dd') = to_char(sysdate - 5,'yyyy-mm-dd');
end;
用户信息要求记录用户的用户名,密码,证件号,真实姓名,性别,生日,手机号,地址,email地址,积分,激活状态等,
其它信息可各自补充
1. 请大家设计这个用户表
--【1】
--创建表user_info
create table user_info(
ID int,
Username varchar2(10),
Pwd varchar2(100),
Idcard varchar2(100),
Real_name varchar2(100),
Sex char(2),
Birth date,
Phone_num number,
Address varchar2(100),
Email varchar2(100),
Integral number,
Active_state char(4) default 'on',
Reg_time date default sysdate,
Other_note varchar2(100)
);
--插入数据
insert into user_info
values
(1,
'dbtiger',
'123',
'42108...',
'TOM',
'男',
SYSDATE-5,
1307979887889,
'北京市海淀区...',
'824661247@qq.com',
100,
'on',
sysdate,
'VIP');
select t.*,rowid from user_info t;
2.假如现在系统已经完成,网站要做一个贴心活动,对于注册且激活了且生日即将到达的用户(生日前五天),
我们根据其注册时间的长短,送积分,积分数=注册时间月数*100,请大家用PLSQL实现这个功能
--【2】
select to_date(sysdate-5,'yyyy-mm-dd') from dual;
select to_char(sysdate-5,'yyyy-mm-dd') from dual;
select round((sysdate-t.reg_time)/30) from user_info t;
select sysdate-(sysdate-2) from dual;
select t.*,rowid from user_info t;
user_info.integral%type
declare
--定义注册时间月数
v_month number := 0;
--定义积分的变量v_integral
v_integral number := 0;
begin
select round((sysdate - t.reg_time) / 30)
into v_month
from user_info t
where to_char(t.birth, 'yyyy-mm-dd') =
to_char(sysdate - 5, 'yyyy-mm-dd');
--积分数=注册时间月数*100
v_integral := v_month * 100;
update user_info t
set t.integral = v_integral + integral
where to_char(t.birth,'yyyy-mm-dd') = to_char(sysdate - 5,'yyyy-mm-dd');
end;
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29267792/viewspace-2087583/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/29267792/viewspace-2087583/