数据库中有table1,table2两张表,存在主外键关系,
写一个触发器,向table2表中插入数据,
要求:向table2表中插入数据时,判断主外键关系,
如果外键关联不到数据,则先向table1表中插入数据。
(table1的字段:table1_id, table1_name)
(table2的字段:table2_id, table1_id, table2_price)哪个大人给写一个,我学习下,感激不尽 !
= =!看我楚楚可怜的双眼皮~
写一个触发器,向table2表中插入数据,
要求:向table2表中插入数据时,判断主外键关系,
如果外键关联不到数据,则先向table1表中插入数据。
(table1的字段:table1_id, table1_name)
(table2的字段:table2_id, table1_id, table2_price)哪个大人给写一个,我学习下,感激不尽 !
= =!看我楚楚可怜的双眼皮~
解决方案 »
- 请指教下如下触发器哪里错误了,oracle中
- 求救啊,大家都回家了,可怜可怜我们这苦命的菜鸟啊
- vb6.0调用oracle存储过程如何返回结果集,在线等,急,谢谢
- 怎么修改Oracle服务器时间呢?
- 我在Linux上的Oracle EX 今天经常连接不上,看日志有这些问题,请问该如何处理
- 为什么merge语句执行不了
- 如何补救
- 请教crebas.sql文件可以在powerdesign中打开吗?
- 在Oracle8i中存储图片的问题。
- 求一个替换字符串的正则表达式01!01.01!01.01.01变成01.02!01.02.01!01.02.01.01
- 赋值问题
- 急急急,表或视图不存在,怎么回事?
(table1_id integer,
table1_name varchar2(10),
constraint pk_table1 primary key(table1_id));DROP TABLE table2 purge;CREATE TABLE table2
(table2_id integer,
table1_id integer,
table2_name varchar2(10),
constraint fk_table2 foreign key(table1_id) references table1(table1_id));CREATE OR REPLACE TRIGGER tri_table2
AFTER INSERT ON TABLE2
FOR EACH ROW
DECLARE
v_cnt NUMBER;
BEGIN SELECT COUNT(*)
INTO v_cnt
FROM table1
WHERE table1_id = :new.table1_id; IF v_cnt = 0 THEN
INSERT INTO table1(table1_id, table1_name) VALUES(:new.table1_id, :new.table2_name);
END IF;END;
/INSERT INTO table2 (table2_id, table1_id, table2_name) VALUES(201, 101, '2_NAME');SELECT * FROM table1;