PL/SQL使用匿名块处理数据

假如现在要做一个线上订购系统,这个系统首先有一个用户模块,所以我们要设计这个模块,首先要设计一张用户表存放
用户信息要求记录用户的用户名,密码,证件号,真实姓名,性别,生日,手机号,地址,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/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值