惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园_首页
J
Java Code Geeks
博客园 - 聂微东
量子位
C
Check Point Blog
T
The Blog of Author Tim Ferriss
T
Tailwind CSS Blog
G
Google Developers Blog
Google DeepMind News
Google DeepMind News
B
Blog
罗磊的独立博客
腾讯CDC
GbyAI
GbyAI
博客园 - 【当耐特】
A
About on SuperTechFans
M
MIT News - Artificial intelligence
U
Unit 42
D
Docker
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Y
Y Combinator Blog
大猫的无限游戏
大猫的无限游戏
小众软件
小众软件
S
SegmentFault 最新的问题
有赞技术团队
有赞技术团队

博客园 - 群

DataGridView调整列宽及using()的用法 COM 对象与其基础 RCW 分开后就不能再使用 终于解决了一个问题--如何在数据绑定时不让combox控件触发SelectedIndexChanged事件 如何在winform中子窗体提交数据后刷新父窗体中的DataGRIDVIEW数据? 关于在.net中 预览上传控件中路径的图片 的方法 在连接到 SQL Server 2005 时,在默认的设置下 SQL Server 不允许进行远程连接可能会导致此失败。 (provider: 命名管道提供程序, error: 40 - 无法打开到 SQL Server 的连接)[转] 获取新插入的数据的自增ID 漂浮窗体的实现 取得当前日期所在的星期里从星期一到星期日所有的日期列表 Server.MapPath介绍 Server.MapPath介绍 .NET里面取2个时间相差的天数 在static方法中调用非静态方法? label分页 使用回车代替Tab键的功能代码 绘图(包括绘坐标,图片) 很不错的传值 设置ComboBox默认 动态生成图片热点
触发器不能读『转』
· 2007-11-19 · via 博客园 - 群

我在工作中遇到在insert的时候需要对insert的数据进行变更,很自然就想到了触发器,触发器格式如下:
CREATE OR REPLACE TRIGGER tir_updateDate
AFTER INSERT ON sc_t_czplan

FOR EACH ROW

BEGIN
UPDATE sc_t_czplan
SET cdate= to_char(:new.PLANDATE,'mm')||'月'||to_char(:new.PLANDATE,'dd')||'日';
WHERE planid= :new.planid;

END;

但在调用的时候报如下错误:
16:38:45 Error: ORA-04091: 表 SCOTT.TEST 发生了变化, 触发器/函数不能读它
ORA-06512: 在 "SCOTT.TEST_TRIGGER", line 9
ORA-04088: 触发器 'SCOTT.TEST_TRIGGER' 执行过程中出错
ORA-06512: 在 line 2
在网上查了好多方法,都不见效,想到既然是在insert之前触发的何不修改对应的值来解决问题呢?
将tigger做如下改动:
CREATE OR REPLACE TRIGGER tir_updateDate
BEFORE INSERT ON sc_t_czplan
FOR EACH ROW -- 行级触发器,默认为表级触发器
BEGIN
:new.cdate:=to_char(:new.PLANDATE,'mm')||'月'||to_char(:new.PLANDATE,'dd')||'日';
END tir_updateDate;
问题即随之解决,将自己的办法贴出来,希望能够给遇到类似问题的朋友们一点帮助。