CREATE TABLE example(
ID Number(4) NOT NULL PRIMARY KEY,
NAME VARCHAR(25),
PHONE VARCHAR(10),
ADDRESS VARCHAR(50));
CREATE SEQUENCE empdd
INCREMENT BY 1 -- 每次加几个
START WITH 1 -- 从1开始计数
NOMAXVALUE -- 不设置最大值
NOCYCLE -- 一直累加,不循环
NOCACHE -- 不建缓冲区
//出发器
CREATE TRIGGER sbbb BEFORE
INSERT ON example FOR EACH ROW WHEN (new.id is null)
begin
insert emp_sequence.nextval into new.id from dual;
end;
想让数据插入的时候 表自己给ID赋值 但说我 触发器写错 看了半天不知道错哪了 请各位帮帮忙
ID Number(4) NOT NULL PRIMARY KEY,
NAME VARCHAR(25),
PHONE VARCHAR(10),
ADDRESS VARCHAR(50));
CREATE SEQUENCE empdd
INCREMENT BY 1 -- 每次加几个
START WITH 1 -- 从1开始计数
NOMAXVALUE -- 不设置最大值
NOCYCLE -- 一直累加,不循环
NOCACHE -- 不建缓冲区
//出发器
CREATE TRIGGER sbbb BEFORE
INSERT ON example FOR EACH ROW WHEN (new.id is null)
begin
insert emp_sequence.nextval into new.id from dual;
end;
想让数据插入的时候 表自己给ID赋值 但说我 触发器写错 看了半天不知道错哪了 请各位帮帮忙
解决方案 »
- 关于导入导出大字段的问题
- 请问DECLARE @t TABLE(date char(21))
- 问一个update语句,大家帮帮忙啊。
- ORACLE中误删表之后怎么恢复?(急)
- 下划线转成字符出错
- 用trigger触发过程后,结果与手工执行过程不同???
- 存储过程字符串输出参数的长度问题,是不是ORACLE已经限制死了?
- 哪位兄弟安装过oracle的简装版本的OracleXEUniv.exe? 会对现有客户端产生影响吗?
- 我要写一个 存储过程 把应用程序运行情况写进日志文件里.请问我该怎么得到这个路径???
- 请教高手,怎么得到sql语句的查询结果
- 如何将rowtype或RECORD当做参数传递给procedure????
- 动态游标9i与10g的问题
if :New.id is null then
:New.id := emp_sequence.nextval;
end if;
create table test1(id int not null, col2 varchar(32))
/SQL> create sequence tseq;序列已创建。SQL> create trigger t before
2 insert on test1 for each row when(new.id is null)
3 begin
4 select tseq.nextval into :new.id from dual;
5 end;
6 /触发器已创建SQL> insert into test1 values(null, 'wang');已创建 1 行。SQL> select * from test1; ID NAME
---------- ----------
1 wangSQL>