最近在做的项目已经做好,甲方突然要求将数据库换为oracle数据库,之前做维护的时候使用过oracle,这次在开发中应该会有不一样的体验,在此记录下来。
第一天,到甲方去安装oracle数据库的客户端,并试图调试代码。结果oracle安装成功,但代码肯定是不行的,安装了粉红色的PL/SQL用于操作数据库。
第二天,到甲方处在新建的客户端里创建数据库表/triggers /sequences,没什么好说的。
需要注意的是,数据库的数据类型需改变,oracle中数字是number,在oracle中直接在table中建表失败了,不知为何,只能使用代码建表了。
创建表并插入数据:
CREATE TABLE dt_student( id number NOT NULL Primary Key, name varchar(8) NOT NULL , address varchar(30) NOT NULL , phone number brith date ); insert into dt_student values('20062501','张三','asdfasdfasd','13305311234','21-6月-85'); insert intodt_studentvalues('002','李四','男'); insert intodt_studentvalues('003','王二','女');
由于需要ID能够自增需要建trigger/sequence:
create sequence dt_student sequence increment by 1 start with 1 nomaxvalue nocycle nocache create trigger dt_student_trigger before insert on dt_student for each row when(new.id is null) begin select dt_student_sequence.nextval into:new.id from dual; end;
第三天,开始调试代码,原来的代码中有TOP<1,在使用中发现oracle不支持这种用法,需要改为whererownum < n 。代码中有多处需要修改,改了一整天。
第四天,代码中的@用法貌似不支持oracle数据库,将代码中所有的@改为分号(;)。这天和甲方的人闲聊几句,问他们为什么一定要用oracle数据库,得到的答复是这样比较高上大。
