当前位置:编程学习 > JAVA >>

初学者s2sh操作Oracle的配置问题

用过MYSQL作为S2SH的数据库平台,现在想迁移到Oracle平台上学习
对于数据库在MYSQL中有自动增长INT型数据,可Oracle里没有
查了网络上的相关资料:
(1)int增长型字段需要配置成number类型
(2)然后做序列
(3)最后对本数据表做insert触发器
(4)在hibernet中做数据表映射时要指定主键的序列名
可是,我下载的一些S2SH+Oracle的源程序里且没有第3步做触发器
是不是建好表和序列并在数据表映射中指定主键需要到的序列名称就可以了?
另外,我在我安装的Oracle 10g中,数据表和序列都能正常的建好,可是触发器没弄成功过
下面是我的操作方法:
1)安装完oracle后,并安装navicat for oracle打开操作
2)在navicat中手动建表
   t_user(userid number(5) not null,username varchar2(20),password varchar2(20))
3)建序列UserAutoID
   CREATE SEQUENCE UserAutoID 
       minvalue 1
       START WITH 1
       INCREMENT BY 1 
       NOMAXVALUE 
       NOCYCLE 
       CACHE 10
       Order; 
   经测试SELECT UserAutoID.NEXTVAL FROM DUAL;正常
   经测试insert into "t_user"("userid","username","password") VALUES 
        (UserAutoID.NEXTVAL,'aaa','bbb') 正常
4)我建立的添加数据触发器怎么也不成功,咋办呢?已经测试好久了
CREATE OR REPLACE TRIGGER myTGR 
BEFORE INSERT ON "t_user" 
FOR EACH ROW 
BEGIN
  SELECT UserAutoID.NEXTVAL INTO :NEW.userid FROM DUAL;
END;
恳请各位帮忙解决,不胜感激! Oracle s2sh 数据库 --------------------编程问答-------------------- http://blog.csdn.net/shadowsick
可以参考下我的基于spring,security写的开源项目 --------------------编程问答-------------------- 我下载看了下是Mysql啊,楼上能给个正解吗? --------------------编程问答-------------------- 你可以先用jdbc的方式尝试一下你的触发器是否可以正常使用。 --------------------编程问答-------------------- 如果是用注解的话可以看一下SequenceGenerator注解
补充:Java ,  Web 开发
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,