随笔心得

记我所见,记我所想

BlogJava 首页 新随笔 联系 聚合 管理
  34 Posts :: 0 Stories :: 16 Comments :: 0 Trackbacks


俺是初学者 有没有简单一点的 我只是想建一个简单的表 表名是addressbook 包含4个字段 其中 id 是主码 类型为整型 同时是可以自增的 及插入一条记录 就会自增1 其他的字段都是字符型的 也没有什么约束 我可以在 企业管理器里 建表 同时 设置字段属性 现在我只是想 如何用SQL语句 实现id字段的自增。

关键字 identity(1,1)



Create Table addressbook
(idInt Identity(1, 1),
nameVarchar(20),
phoneVarchar(20),
addressVarchar(50))

posted on 2007-04-19 11:10 源自有缘 阅读(3569) 评论(1)  编辑  收藏

Feedback

# re: 用 SQL语句 实现某个字段自增 2007-04-19 14:16 小虎(年轻)
Oracle 没有自增字段,可以通过以下方式实现:
1.建立测试数据表
CREATE TABLE TEST
(
ID NUMBER,
NAME VARCHAR2(20),
PRIMARY KEY(ID)
);

2.创建序列
CREATE SEQUENCE SEQ_TEST;

3.创建触发器
CREATE OR REPLACE TRIGGER AUTOINCREMENT
BEFORE INSERT ON TEST
FOR EACH ROW
WHEN (NEW.ID IS NULL)
BEGIN
SELECT SEQ_TEST.NEXTVAL INTO :NEW.ID FROM DUAL;
END;
/

4.插入数据
INSERT INTO TEST(NAME) VALUES('NAME1');

5.查看插入结果
SELECT * FROM TEST;

但是,这样做有一个缺点,程序移植的时候就要做很大的变动,所以非要用这种数据库自增的方式的话建议建一张表用来记录另一张表中插入数据的最大ID,下一次插入数据时读这张表再加1 。  回复  更多评论
  


只有注册用户登录后才能发表评论。


网站导航: