首页 技术 正文
技术 2022年11月21日
0 收藏 593 点赞 3,571 浏览 1269 个字

好好好好久没更新了,最近真是堕落了,做的都是小菜鸟做的东西,都没得写,但是最近数据库突然从mysql换到oracle,哈哈哈哈哈,还真是挺复杂的

1、首先建表

fund 是表名称

其他的是字段名称

create table fund (
id number() primary key,/*id 主键*/
name varchar2(),/*字段 name*/
    desc clob, /*描述,类型是clob,存储空间比较大*/
)

创建字段的时候

oracle10G对于表名的长度限制是30个字节,超过会提示标示符过长

2、一般的id是自增的,在mysql里面设置自增点一下就好了,oracle比较麻烦,需要用到序列

2.1设置序列

fund_autoinc 是序列字段,表示从1到9999999999999999999999999999这么大
create sequence fund_autoinc
minvalue
maxvalue
start with
increment by
nocache;

2.1创建触发器

create or replace trigger insert_fund_autoinc
before insert on fund
for each row
begin
select fund_autoinc.nextval into :new.id from dual;
end;

3插入数据 测试一下

insert into fund(name) values ('cccc');

4查看表

select * from fund;

当然我发现我查不到数据,

网上搜了一下发现了这么一条解释,我比较容易明白

“如果在插入后并且未提交的的情况下新开一个session查询的话,你是查不到刚插入的数据,这跟Oracle的隔离性有关,但是在当前session是能够查到的,在commit之后,其它session就能查到了(持久性)”

需要commit,

用法很简单

insert into fund(name) values ('vvvvvv');
commit;

这样就真的插入数据了

但是我这个表有点特殊,name是唯一的,需要创建唯一属性 ,设置唯一属性,表必须是空的

删除表数据

delete from fund;//truncate table fund
commit; 

delete与truncate的区别:
delete:会产生rollback,如果删除大数据量的表速度会很慢,同时会占用很多的rollback segments。
truncate: 是DDL操作,不产生rollback,速度快。

然后设置唯一

alter table fund
add constraint tb_fund_u1
unique (name); //name 是字段,可以添加多个 unique (name,company);

最后补充一点,我的字段里面有设置这个CLOB类型的字段,一般写select *查不出来东西,但是可以用to_char

select to_char(desc) from fund; 

写的有点乱,但是写的很多,把我踩到的坑全写出来了,下一篇写PHP连接oracle数据库,并操作数据库,有啥问题欢迎留言啊。

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,077
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,552
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,401
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,176
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,813
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,896