create table my_emp as select empno,ename,sal, deptno from emp;--完成一个触发器,用于记录对于my_emp表的操作信息
--将对用的insert delete update操作
--记录到一张日志表中update_logger(
--log_id number, ID
--oparationType varchar2() 操作类型
--log_time date, 操作事件
--log_rows number) 影响行数create table logger(
log_id number primary key,
oparationType varchar2(10),
log_time date
log_rows number(2)
)
//创建序列
create sequence log_id increment by 1 start with 1;//创建触发器
create or replace trigger tri
after insert or update or delete
on my_emp
for each row
declare
oparationType char(10);
//这里怎么设置影响的行数
log_rows.....
begin
if inserting then
oparationType :='插入';
else if updating then
oparationType :='更新';
else
oparationType :='删除';
endif insert into logger values(log_id.nextval,oparationType,sysdate,log_rows);
end;
LINE/COL ERROR
-------- ----------------------------------------------------------------------------------------------------
13/8 PLS-00103: 出现符号 "INSERT"在需要下列之一时: := . ( @ % ; 符号 ";" 被替换为 "INSERT" 后继续。
14/4 PLS-00103: 出现符号 ";"在需要下列之一时: if
请问这个问题怎么解决oracletriggger
解决方案 »
- oracle 提示 oracle not available
- PL/SQL 开发问题
- ORACLE客户端超时断开,怎么办?
- 数据迁移 OLD SERVER DATA MOVE TO NEW SERVER
- orcale的存储过程能不能像sql存储过程一样,用来做分页
- Oracle有没有像"SQL SERVER联机丛书"一样帮助文档?
- 关于oracle的数据类型……acsess VS oracle
- 是高手的就进来吧 关于分析函数的
- 如何在oracle中用SQL语句比较字符串型和数字型?
- Oracle OIM 身份管理中保存用户密码的表是哪个?有谁知道???????
- SQL语句求助。如何选定分组中的“某一行”数据?
- rman恢复问题
前面的for each row已经说明了是对每一行的
二 else if修改为elsif
三 endif后加分号(英文状态下)
2. endif =>end if;
可以用SQL%rowcount 游标属性来记录影响的行数