在SQL Server中,建立表字段自动增长,可以使用 identity(1,1)实现,但是在Oracle没有这样的函数,我们必须得为其创建序列(Sequence),方法如下:
--创建test表
create table test
(
ID int not null primary key,
Name varchar(20)
);
--为test表创建自动增长序列
CREATE SEQUENCE GRADE_SEQUENCE
increment by 1
start with 1
nomaxvalue
nocycle
nocache
-------------执行上面一段----------------
--为test表创建插入触发器
create trigger "GREADE_TRIGGER" BEFORE
INSERT ON TEST FOR EACH ROW WHEN(new.ID IS NULL)
BEGIN
SELECT GRADE_SEQUENCE.NEXTVAL INTO:NEW.ID FROM DUAL;
END;
----------执行上面一段-----------------
insert into TEST(NAME) values('AA');
insert into TEST(NAME) values('BB');
insert into TEST(NAME) values('CC');
insert into TEST(NAME) values('DD');
insert into TEST(NAME) values('EE');
select * from test;
1、增加新字段: alter table table_name; add (name varchar(20) default 'unkown'); 如: alter table test; add(address varchar(100)); 2、修改表字段: alter table table_name; modify (name varchar2(30) default 'hebei'); 如: alter table test; modify (address varchar(20) default 'unkown'); 3、删除表字段: alter table table_name; drop column column_name; 通常在系统不忙的时候删除不使用的字段,可以先设置字段为 unused; 如: alter table test; set unused column address; 4、表重命名: rename table_name1 to table_name2; 如: rename test to test2; 5、清空表中的数据: TRUNCATE TABLE table_name; 如: truncate table test; 6、给表增加注释: COMMENT ON TABLE table_name; 如: comment on table test is 'This is a test table'; 7、删除表结构: DROP TABLE table_name; 此操作属DDL,会自动提交且不可回滚;