今年Android跨刚学习后台,好多都不懂,很多东西都要学,感觉又找回了刚开始学Android时的激情
java实习生吧,总不能开始就让你重头到尾撸一个项目,所以接手了一个小项目玩玩 这个开始是用MySQL数据库的,都上线了,后来发现数据库配置这块还是MySQL的,本着这个2个数据库之间还挺多差异的, 还是自己链接Oracle测试一番才放心。
坑1、测试Oracle表空间用户的密码忘记了,连不上!,想到用有DBA权限用户SYS登录导出来,重新建一个新的空间表,再导入。 发现Navicat导出的空间名,表名,字段都是带双引号的,到了Oracle里面就不会自动转换大小了,查询语句只能用双引号括起来,但是写的查询语句肯定不能这样。 实测发现PL/SQL导出的不带双引号,字段名小写。
坑2、SQL窗口才能执行SQL语句,别人给的备份文件address.tab(表)、address.trg(触发器)、address_sequence.seq(序列)
坑3、Navicat工具有数据同步,结构同步,把两个相同类型的库可以方便备份导入,试了不行,然用insert语句可以,数据不多就用执行SQL插入。
SQL脚本:
address.tab
create table XYC_ADDRESS
(
id NUMBER(11) not null,
user_id NVARCHAR2(45) not null,
user_name NVARCHAR2(45),
award_id NUMBER(11),
award_name NVARCHAR2(255),
record_id NUMBER(11),
address NVARCHAR2(255),
phone NVARCHAR2(45),
create_date DATE,
update_date DATE
)
;
comment on column XYC_ADDRESS.user_name
is '用户姓名';
comment on column XYC_ADDRESS.address
is '收货地址,需要用户手动填写';
comment on column XYC_ADDRESS.phone
is '手机号码';
alter table XYC_ADDRESS
add primary key (ID);
address_sequence.seq
create sequence XYC_ADDRESS_SEQUENCE
minvalue 1
maxvalue 9999999999999999999999999999
start with 1
increment by 1
nocache;
address.trg
CREATE OR REPLACE TRIGGER "XYC_ADDRESS" BEFORE INSERT ON "CUNJINGUAN"."XYC_ADDRESS" REFERENCING OLD AS "OLD" NEW AS "NEW" FOR EACH ROW WHEN (new.ID is null)
begin select XYC_ADDRESS_sequence.nextval into:new.ID from dual; end;
/