首页 > 代码库 > oracle 笔记

oracle 笔记

向表里添加数据:

INSERT INTO BOOK(bookid,name,price)  VALUES(‘100123‘,‘oracle sql‘,54.70);
INSERT INTOBOOK                              VALUES(‘100123‘,‘oracle sql‘,54.70);
INSERT INTOBOOK(bookid)                  VALUES(‘100123‘);

 

现在有一个空表a和一个有数据的表格b,他们的结构是一样, 把b表中的所有数据插入到a表中的语句是:
INSERT INTO A (列1,列2,列3)
           SELECT 列1,列2,列3
           FROM B ;

删除表:

  delete from table where id = ???;

 

自增长主键:

下面用一个例子来说明自增主键的创建:

1、建用户数据表

      drop table dectuser;

      create table dectuser(

           userid integer primary key,  /*主键,自动增加*/

           name varchar2(20),

           sex varchar2(2)

           );2、创建自动增长序列

      drop sequence dectuser_tb_seq;

      create sequence dectuser_tb_seq minvalue 1 maxvalue 99999999

               increment by 1

               start with 1;   /*步长为1*/

3、创建触发器

      create or replace trigger dectuser_tb_tri

          before insert on dectuser     /*触发条件:当向表dectuser执行插入操作时触发此触发器*/

          for each row                       /*对每一行都检测是否触发*/

          begin                                  /*触发器开始*/

                 select dectuser_tb_seq.nextval into :new.userid from dual;   /*触发器主题内容,即触发后执行的动作,在此是取得序列dectuser_tb_seq的下一个值插入到表dectuser中的userid字段中,注意:new.userid 是new.加上原表的主键*/

          end;

   

          /                                        /*退出sqlplus行编辑*/

4、提交

      commit;