现在有这样一个问题
有2张表A表和B表,A表中的字段为id,a1,a2.
a1,a2为date数据类型。当向A表中插入数据后 就要比较a1和a2的日期大小,如果a1大于a2,那么就要向B表中插入数据,请问这个怎么实现,用oracle的触发器可以实现吗
请问具体怎么实现,能给个例子吗
有2张表A表和B表,A表中的字段为id,a1,a2.
a1,a2为date数据类型。当向A表中插入数据后 就要比较a1和a2的日期大小,如果a1大于a2,那么就要向B表中插入数据,请问这个怎么实现,用oracle的触发器可以实现吗
请问具体怎么实现,能给个例子吗
解决方案 »
- 返回部分数据问题
- 求解大于平均分的记录
- Tuxedo 10gR3 for MS Windows Server 2008 w/MS VS 2008 x86-64 64-bit在哪里可以下载
- PL/SQL: SQL Statement ignored; ORA-00913: 值过多
- 在插入数据是,触发器出错! 求解
- pl sql 示例错误 ORA-00900: invalid SQL statement !
- SQL查询问题
- 急!JOB定时的问题(请高手指点)
- 想成为ORACLE DBA需要看什么书呢?
- 删除表空间时提示某表在share spool出错,不给删,怎么办?
- 高手请分析分析如何建立分区表
- OCCI 遇到的困惑,请高手指教!!!!!
after insert on A for each row
begin
if :new.a1>:new.a2 then
insert into B values(XXXX);
end if;
end;
/
SQL> desc test;
名称 空? 类型
----------------------------------------- -------- ----------------------------
QQ VARCHAR2(10)
A1 DATE
A2 DATESQL> desc test2;
名称 空? 类型
----------------------------------------- -------- ----------------------------
NUM NUMBER(10)SQL> select * from test;未选定行SQL> select * from test2;未选定行SQL> insert into test values('aaa',sysdate,sysdate-30);已创建 1 行。SQL> commit;提交完成。SQL> select * from test;QQ A1 A2
---------- ---------- ----------
aaa 09-5月 -07 09-4月 -07SQL> select * from test2; NUM
----------
1SQL> insert into test values('bbb',sysdate,sysdate+100);已创建 1 行。SQL> commit;提交完成。SQL> select * from test;QQ A1 A2
---------- ---------- ----------
aaa 09-5月 -07 09-4月 -07
bbb 09-5月 -07 17-8月 -07SQL> select * from test2; NUM
----------
1SQL>
LZ仔细看看权限那块 是不是用户权限问题