添加一条记录和sqlserver一样
语法:insert into table(列,列,列) values(value,value,value);
如果有个自动增长列
可以用这种方法,首先创建一个序列号SEQ_Test
然后insert into table(ID,列,列) values(SEQ_Testnextval,value,value);
使用如下函数实例
你上面的语句可以这样写:
select to_char(nvl(max(to_number(code_carrier)), 0) + 1, '0000') -- 几位就写几个0
into :newcode_carrier
from tb_code_carrier;
end if;
不过每次都需要 max() 不是很费效率吗?你可以使用序列进行转换
关于主键:在建表时指定primary key字句即可:
create table test(
id number(6) primary key,
name varchar2(30)
);
如果是对于已经建好的表,想增加主键约束,则类似语法:
alter table test add constraint pk_id primary key(id);
其中add constraint 和 primary key是关键字,pk_id是主键名称,自定义的额,只要不重复即可。
也可以自动一些,对表的插入 *** 作,建立一个触发器,每当有数据插入时,触发器自动修改id值为序列的新值,这样就完全实现自增id功能了。不过其实也没有这个必要。因为触发器如果建多了,有时会比较混乱,不易管理。
create table(id number default 0,);
自增长列是没有的,如果想要实现自增长列的话,需要借助序列和触发器来实现。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)