这是我写的一个tigger 然后一直报错
38/13 PLS-00103: Encountered the symbol "end-of-file" when expecting one of the following: ;
They symbol ";" was substituted fro "end-of-file" to continue.求帮看看到底哪出问题了 谢谢create or replace trigger QtyCheck1
after insert on supplyused
for each rowDECLARE
pgm_name varchar2;
pgm_qty number(4);
pgm_partid varchar2;
pgm_partqty number(4);
pgm_newqty number(4);BEGINselect partname,partinvqty into pgm_name,pgm_partqty
from part
where partid=:new.partid;select SUPPLYUSEDQUANTITY,s.partid
into pgm_qty,pgm_partid
from supplyused s inner join part p on s.partid=p.partid
where supplyid=:new.supplyid;pgm_newqty:=pgm_partqty-pgm_qty;update part
set partinvqty=pgm_newqty
where partid=pgm_partid;if
pgm_newqty < 5 then
dbms_output.put_line('Item '||pgm_name||' Useage: '||pgm_qty);
dbms_output.put_line('Warning: '||pgm_name||'has only'||pgm_newqty||'instock.');
else if
pgm_newqty >= 5 then
dbms_output.put_line('Item '||pgm_name||' Useage: '||pgm_qty);
dbms_output.put_line('Numbers remaining: '||pgm_newqty);end if;
end if;END QtyCheck1
/
38/13 PLS-00103: Encountered the symbol "end-of-file" when expecting one of the following: ;
They symbol ";" was substituted fro "end-of-file" to continue.求帮看看到底哪出问题了 谢谢create or replace trigger QtyCheck1
after insert on supplyused
for each rowDECLARE
pgm_name varchar2;
pgm_qty number(4);
pgm_partid varchar2;
pgm_partqty number(4);
pgm_newqty number(4);BEGINselect partname,partinvqty into pgm_name,pgm_partqty
from part
where partid=:new.partid;select SUPPLYUSEDQUANTITY,s.partid
into pgm_qty,pgm_partid
from supplyused s inner join part p on s.partid=p.partid
where supplyid=:new.supplyid;pgm_newqty:=pgm_partqty-pgm_qty;update part
set partinvqty=pgm_newqty
where partid=pgm_partid;if
pgm_newqty < 5 then
dbms_output.put_line('Item '||pgm_name||' Useage: '||pgm_qty);
dbms_output.put_line('Warning: '||pgm_name||'has only'||pgm_newqty||'instock.');
else if
pgm_newqty >= 5 then
dbms_output.put_line('Item '||pgm_name||' Useage: '||pgm_qty);
dbms_output.put_line('Numbers remaining: '||pgm_newqty);end if;
end if;END QtyCheck1
/
解决方案 »
- linux安装oracle11出现问题请指教。
- NetBeans怎么连接到oracle,不会写JDBC URL啊!求教
- oracle簇索引与索引的区别?
- 请教数据备份怎么效率高
- 更新一张表的一个字段从另一个表里字段来更新,另一个表的查询结果有多条记录,取时间最短的一条
- 如何设计数据量大的表,可以提高查询效率?
- 我们单位要请人开发一个数据库,请各路高人帮忙推荐几家比较好的公司
- SQL
- 怎么样用SQL语句选择出树形结构中的所有最底层项,也就是说怎么样选择出树形结构中所有最末级项??
- 数据库字符集的问题!!
- ora-12154 tns;监听进程不能解析在连接描述中符中给出的SERVICE_NAME
- 求助,使用IBM Initiate WorkBench里的cloverETL配置时,无论是数据库导入到EXCEL还是EXCEL导入数据库,中文都会出现乱码
pgm_newqty >= 5 then
dbms_output.put_line('Item '||pgm_name||' Useage: '||pgm_qty);
dbms_output.put_line('Numbers remaining: '||pgm_newqty);end if;
end if;
if exp1 then
begin
...
end;
elsif exp2 then
begin
...
end;
else
begin
...
end;
end if;
这个错误一般是少了分号导致的
检查一下
找到了最后的end 少了分号找了半个多小时。万分感谢