feedsky
    抓虾
    google reader
    my yahoo
    鲜果
    有道
    QQ邮箱

oracle 学习笔记

Post by iambbp, 2009-4-8, Views:

  数据库也学了好多种了有oracle,sqlsever,access,理论太多,而且不精,编一段小代码,出错不断,难得调试好了,f8之后居然啥效果都没有,自己有点眼高手低了,暂时将自己的代码放在这,以后慢慢改

create table BANK_USER (id number(10),personid varchar2(10),name varchar2(10),sex

varchar2(5),tel varchar2(12));
alter table BANK_USER modify PERSONID not null;
alter table BANK_USER rename column NAME to userNAME;
alter table BANK_USER add constraint pkkey1 primary key (personid);

insert into BANK_USER
VALUES(2,'9236565','xoy','F','1316663655')

insert into BANK_USER
VALUES(5,'165655','sky','f','11296663655')


SELECT * FROM BANK_USER

create table bank_card (id number(10),cardID number(10) not null ,password varchar2(10)

not null, money number(10));
alter table bank_card add constraint pkkey2 primary key (cardid);


insert into bank_card
values(5,093291,'066098',0)

select * from bank_card

create table bank_card_user (id number(10) default 0, userid varchar2(10),cardid number(10));
alter table bank_card_user add constraint fkkey1 foreign key (userid)  references
bank_user (personid);
alter table bank_card_user add constraint fkkey2 foreign key (cardid) references
bank_card (cardid);
alter table bank_card_user add constraint cukey1 primary key (id);

insert into bank_card_user
values (1,'3236565',563265);

create table bank_business (id number(10),cardid number(10),inputmoney number(10) default
0 not null ,outputmoney number(10) default 0 not null ,businesstime date);
alter table bank_business add constraint pkkey3 primary key(id);
alter table bank_business add constraint fkkey3 foreign key (cardid) references bank_card
(cardid)

 

declare
--定义一个记录类型
type user_card_record is record(
    id bank_user.id%type,
    personid bank_user.personid%type,
    cardid bank_card.cardid%type
);
--定义一个记录变量
    aa user_card_record;
--定义三个整型变量   
    x number;
    b number;
    c number;
 
 begin
--把表bank_card_user最大id赋值给变量 x;
--把表bank_user最大id赋值给变量 b;
 select max(id) into x from bank_card_user;
 select max(id) into b from bank_user;
--如果表bank_card_user的记录小于表bank_user的记录,则把 表bank_user,bank_card多余的 记录插入到表bank_card_user中
 
 while x <= b
   
  loop

  select id,personid into aa.id ,aa.personid
  from bank_user where id=x+1;
  select cardid into aa.cardid
  from bank_card where id=x+1;
  insert into bank_card_user
  values(aa.id,aa.cardid,aa.personid);
  x:=x+1;
  end loop;
  end;
 
  select * from bank_card_user;
  select * from bank_user;
  select * from bank_card;
 
 

Tags: 甲骨文  数据库  编程  oracle 
分类:编程学习 | 评论:1 | 引用:0 |
上一篇:百度凤巢即将上线
下一篇:会议英语学习笔记

或许你还对下面的文章感兴趣

Comments

  • quote 1.gs
  • 别忘记结尾的;啊
    还有比如primary key,在建table的时候就可以直接写了
  • 2009-4-27 20:10:01 回复

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

Hot Articles

New Articles

Last Comments

Guest