1.我寫了多個表的TRIGGER到一個SQL文件中去執行,發現ORACLE識別不了,都把代碼放在第一個TRIGGER中了!如下
CREATE OR REPLACE TRIGGER "ASC"."TR_CITY_LASTUPDATE" BEFORE
INSERT
OR UPDATE ON "CITY"
FOR EACH ROW
declare
-- local variables here
begin
IF INSERTING THEN
:New.Revise:=0;
:New.Last_Updat := sysdate;
ELSE
:New.Revise:=:New.Revise+1;
:New.Last_Updat := sysdate;
END IF;
end TR_CITY_LASTUPDATE;create or replace trigger TR_COM_GROUP_LASTUPDATE
before INSERT OR update on COM_GROUP
for each row
declare
-- local variables here
begin
IF INSERTING THEN
:New.Revise:=0;
:New.Last_Updat := sysdate;
ELSE
:New.Revise:=:New.Revise+1;
:New.Last_Updat := sysdate;
END IF;
end TR_COM_GROUP_LASTUPDATE;以上是兩個TRIGGER,可生成後是一個TRIGGER,並且是非法的,分開執行就沒問題
我是用POWERDESIGN建模後生成SQL執行的,我用PL/SQL工具運行結果也一樣.
CREATE OR REPLACE TRIGGER "ASC"."TR_CITY_LASTUPDATE" BEFORE
INSERT
OR UPDATE ON "CITY"
FOR EACH ROW
declare
-- local variables here
begin
IF INSERTING THEN
:New.Revise:=0;
:New.Last_Updat := sysdate;
ELSE
:New.Revise:=:New.Revise+1;
:New.Last_Updat := sysdate;
END IF;
end TR_CITY_LASTUPDATE;create or replace trigger TR_COM_GROUP_LASTUPDATE
before INSERT OR update on COM_GROUP
for each row
declare
-- local variables here
begin
IF INSERTING THEN
:New.Revise:=0;
:New.Last_Updat := sysdate;
ELSE
:New.Revise:=:New.Revise+1;
:New.Last_Updat := sysdate;
END IF;
end TR_COM_GROUP_LASTUPDATE;以上是兩個TRIGGER,可生成後是一個TRIGGER,並且是非法的,分開執行就沒問題
我是用POWERDESIGN建模後生成SQL執行的,我用PL/SQL工具運行結果也一樣.
解决方案 »
- 求教Oracle 自动备份
- 如何修改pl/sql连接oracle11的时间,最好是无限时间。
- 数据库链问题
- 【求助】plsql中用delete和drop以及alter命令删除的行如何恢复过来?
- 一个insert的问题,大侠指教,在线等,急!
- oracle查询中遇到的没有记录强行赋值的问题,高手帮帮我吧,万分感谢。
- RedHat 8 下 Oracle9、Tomcat4.1.29、Ftp的安装及配置方法
- 请教!关于自定义类型导入导出的问题
- 两个表的SQl语句(解决立刻有分)
- 关于数据字典的简单问题
- 一个insert的问题,大侠指教,在线等,急!
- 請問做好的ORACLE數據庫是用EXPORT/IMPORT方式發布好,還是用RUN SQL的方式比較好?
create or replace trigger TR_CITY_LASTUPDATE
before INSERT OR update on CITY
for each row
declare
-- local variables here
begin IF INSERTING THEN
:New.Revise:=0;
:New.Last_Updat := sysdate;
ELSE
:New.Revise:=:New.Revise+1;
:New.Last_Updat := sysdate;
END IF;
end TR_CITY_LASTUPDATE;
create or replace trigger TR_COM_GROUP_LASTUPDATE
before INSERT OR update on COM_GROUP
for each row
declare
-- local variables here
begin IF INSERTING THEN
:New.Revise:=0;
:New.Last_Updat := sysdate;
ELSE
:New.Revise:=:New.Revise+1;
:New.Last_Updat := sysdate;
END IF;
end TR_COM_GROUP_LASTUPDATE;