当前位置:数据库 > Oracle >>

oracle sequence trigger创建自增长字段

oracle sequence trigger创建自增长字段
 
Java代码  
--建表TEST  
create table TEST(  
       id number(9),  
       name varchar(30)  
)  
--建squence  
create sequence TEST_SEQUENCE  
minvalue 0  
maxvalue 999999999999999999999999999  
start with 4  
increment by 1  
nocache;  
--建触发器  
create or replace trigger I_TEST_ID  
before insert on TEST for each row  
begin  
  select TEST_SEQUENCE.nextval into:new.ID from dual;  
end;  
--测试  
insert into TEST (NAME) values ('asd')  
 在这过程中遇到了一个问题
触发器验证未通过
ora-04098
使用语句查询
SELECT do.OBJECT_NAME, do.status 
FROM dba_objects do
WHERE do.OBJECT_TYPE = 'TRIGGER'
发现那个触发器是invalid
因此去看触发器代码
编译后错误提示为pls-00103:出现符号""在需要下列之一时
原因可能是你语句里有了全角的字符或者空格
改好以后发现ok了可以运行了
 
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,