向ORACLE 表中 插入数据,如果A列为A,B列为B则直接插入表中,如果不是则不执行

向ORACLE表中插入数据,如果A列为A,B列为B则直接插入表中,如果不是则不执行,请问下如何写这个触发器。比如说insertintoaaa(A,B)values(A,B... 向ORACLE 表中 插入数据,如果A列为A,B列为B则直接插入表中,如果不是则不执行,请问下如何写这个触发器。 比如说 insert into aaa (A,B)
values (A,B)则让他直接插入到表中,如果 insert into aaa (A,B)
values (A,1)则弹出错误,这个触发器怎么写。。
我想要做的是 A列选择了某一个数据 ,那么B列对应为另外一个数据相对应(我自己定义对应关系)才让他插入到表中。
展开
 我来答
百度网友6e0e15030
2014-07-18
知道答主
回答量:66
采纳率:0%
帮助的人:28.3万
展开全部
CREATE OR REPLACE TRIGGER TRG_CHECK_VALUES
BEFORE INSERT ON TABLE_NAME
FOR EACH ROW
DECLARE
COL_A VARCHAR2(10);
COL_B VARCHAR2(10);
CURSOR INSERTED_CURSOR IS
SELECT :NEW.B, :NEW.C FROM DUAL;
BEGIN
COL_A := 0;
COL_B := 0;

IF INSERTING THEN
BEGIN
OPEN INSERTED_CURSOR;
FETCH INSERTED_CURSOR
INTO COL_A, COL_B;

WHILE INSERTED_CURSOR%FOUND LOOP

BEGIN
-----------------------
IF COL_A<> 'A' OR COL_B <> 'B' THEN
RAISE_APPLICATION_ERROR(-20001, '值不对,请查核!');
END IF;
----------------------------------------
END;

END LOOP;

CLOSE INSERTED_CURSOR;

END;
END IF;
END TRG_TEST_A;END TRG_TEST_A;
更多追问追答
追问
A列有很多数据,B列有很多数据, 如果A=A1那么B=B1才能插入表中,如果A=A1,B=B2则不能插入表中,报错。
追答
意思是只要 AA1或者BB2 就不能插入了哦~~
匿名用户
2014-07-18
展开全部
我打算和会议符合实际阿娇姐姐
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式