小编Kra*_*ous的帖子

Oracle Trigger ORA-04098:触发器无效且重新验证失败

我试图在oracle 10g数据库中创建一个简单的触发器.这个创建触发器的脚本运行干净.

CREATE OR REPLACE TRIGGER newAlert
AFTER INSERT OR UPDATE ON Alerts
  BEGIN
        INSERT INTO Users (userID, firstName, lastName, password) VALUES ('how', 'im', 'testing', 'this trigger')
  END;           
/
Run Code Online (Sandbox Code Playgroud)

但是当我跑步时:

INSERT INTO Alerts(observationID, dateSent, message, dateViewed) VALUES (3, CURRENT_TIMESTAMP, 'Alert: You have exceeded the Max Threshold', NULL);
Run Code Online (Sandbox Code Playgroud)

要激活触发器,我收到以下错误消息:

ORA-04098:触发器'JMD.NEWALERT'无效且重新验证失败(受影响的0行)

我不明白什么导致这个错误.你知道导致这个错误的原因吗?或者为什么会这样?

先感谢您!

-大卫

sql oracle oracle10g ora-04098

21
推荐指数
2
解决办法
12万
查看次数

如何在SSRS 2012中获得前十大销售额

我正在按照SSRS 2012中的产品类别分列销量前10名.我需要这些前10名的总数,但它显示了完整的总数.我不能在数据集级别上这样做,因为我需要报告中其他部分的完整数据集.我尝试了MSDNlink中给出的解决方案,但这也没有帮助.提前致谢.

ssas ssis reporting-services visual-studio-2012

8
推荐指数
2
解决办法
4万
查看次数

阿姆斯特朗号错误

这是我为Oracle PL/SQL Armstrong Number编写的代码

declare
num number;
sum number;
temp number;
val number;
begin
num:=#
temp:=num;
while temp<>0 loop
val:=trunc(temp mod 10);
sum:=sum +(val*val*val);
temp:=temp/10;
end loop;
if sum=num then
dbms_output.put_line('number is Armstrong');
else
dbms_output.put_line('number is not Armstrong');
end if;
end;
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

第11行的错误:ORA-06550:第11行第10列:PLS-00103:当遇到以下情况之一时遇到符号"+":(符号"("代替"+"继续.ORA-06550 :第11行,第24栏:PLS-00103:遇到下列其中一项时遇到符号";":*& - +/at mod余数rem || year day符号")"代替";" 接着说.ORA-06550:第14行,第7列:PLS-00103:当期待下列之一时遇到符号"=":(

我做错了什么?谢谢.

sql oracle plsql

1
推荐指数
1
解决办法
182
查看次数