我想让Oracle数据库中的一个“产品表”的一个编号字段自动增长,
所以我先建了一个序列 seq_production_id
然后我在建触发器时出现了错误,触发器的SQL语句如下:
CREATE OR REPLACE TRIGGER "SYSTEM"."TRI_PRODUCTTION_ID" BEFORE
INSERT ON "SYSTEM"."PRODUCTION" FOR EACH ROW
begin
select seq_production_id.nextval into :new.id form dual;
end;Oracle数据库报的错误为:
SQL 错误
Failed to commit: ORA-06552: PL/SQL: Compilation unit analysis terminated ORA-06553: PLS-320: 此表达式的类型声明不完整或格式不正确
我实在是看不出错误在哪里,跪求大侠帮忙解决
所以我先建了一个序列 seq_production_id
然后我在建触发器时出现了错误,触发器的SQL语句如下:
CREATE OR REPLACE TRIGGER "SYSTEM"."TRI_PRODUCTTION_ID" BEFORE
INSERT ON "SYSTEM"."PRODUCTION" FOR EACH ROW
begin
select seq_production_id.nextval into :new.id form dual;
end;Oracle数据库报的错误为:
SQL 错误
Failed to commit: ORA-06552: PL/SQL: Compilation unit analysis terminated ORA-06553: PLS-320: 此表达式的类型声明不完整或格式不正确
我实在是看不出错误在哪里,跪求大侠帮忙解决
解决方案 »
- 如何只更新数据库的个别数据项
- SQL 子查询让我痛苦的经历
- orcale 439报错
- utl写文件,无报错但无法写入文件,求救各位大侠!
- 高分求救!用PL/SQL怎么监测其它程序对Oracle9i数据库的访问,类似于SQLServer的事件查看器的功能.?
- 刚学oracle,我想请教一个初级的问题?
- 如何将oracle8.1.6中的数据导入到sql server 2000中。
- oracle9i通过什么工具对表和字段进行操作?应该有图形界面工具吧?
- 关于oracle的函数在哪里查找
- 创建数据库时为什么会报告“out of memory"?
- 增加表空间文件
- 使用EXISTS或NOT EXISTS 实现查询
create table book(
bookId varchar2(4) primary key,
name varchar2(20)
);
--创建序列
create sequence book_seq start with 1 increment by 1;
--创建触发器
create or replace trigger book_trigger
before insert on book
for each row
begin
select book_seq.nextval into :new.bookId from dual;
end ;
--添加数据
insert into book(name) values ('cc');
insert into book(name) values ('dd');
SELECT * FROM BOOK