在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,会自动提交且不可回滚;