oracle使用总结

1、创建表:
  CREATE TABLE Student(
    id varchar2(32) primary key,
    name varchar2(8) not null,
    age number
  );
2、修改字段名:
  alter table Student rename name to StuName;
3、修改数据类型:
  alter table Student modify (id varchar2(64));

alter table tableName rename column oldCName to newCName; -- 修改字段名
alter table tableName modify (cloumnName 数据类型); -- 修改数据类型

添加一列:

alter table carapplication add (pay NUMBER(8,2));

comment on column carapplication.pay is '花费';

commit;

创建序列:

 CREATE SEQUENCE  "SYSTEM"."S_CAR" 

 MINVALUE 1 MAXVALUE 9999999999

 INCREMENT BY 1 START WITH 121 CACHE 20 NOORDER  NOCYCLE ;

分页:

 select * from   (   select A.*, rownum rn   from (select    
 cc.id as id,cc.carNumber as carNumber,cc.brand as brand,cc.purchaseDate as purchaseDate,  
 cc.state as state,cc.orgId as orgId,cc.orgCode as orgCode,cc.phone as phone,org.orgName as orgName   
 from car cc   left join organizations org   on cc.orgid=org.id      WHERE                                                         
 cc.orgCode like '.'                                

 ) A   where rownum <= 20   )   where rn >= 1  


ibatis里面写法:()

批量更新:

<update id="updateCarsStatusByIds" parameterClass="java.util.HashMap">
    update car set state=#state#
    where carnumber in
    <iterate property="carNumbers" close=")" open="("
             conjunction=",">
        #carNumbers[]#
    </iterate>
</update>

批量插入:

<insert id="insertMultiCars" parameterClass="java.util.List">
    insert into car(
    id,
    carnumber,
    brand,
    purchasedate,
    state,
    orgid,
    orgcode,
    phone,
    createuser,
    createdate
    )
    select s_car.NEXTVAL, t.* from ( /* // 使用序列生成主键*/
    <iterate conjunction=" union all " > /*// conjunction属性表示每次循环结束添加的字符*/
        select
        #test[].carNumber#,#test[].brand.id#,#test[].purchaseDate#,#test[].state#,#test[].organization.id#,
        #test[].organization.orgInternalCode#,#test[].phone#,#test[].createUser#,sysdate
        from dual
    </iterate>
    ) t
</insert>
//查询
SELECT s_carrecord.NEXTVAL as id from dual   //生成下一个序列




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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值