比如 表如下列1 列2 列3
a
b
c 当我update 列2 的值时,触发器把列2的值和列1比较,列1 列2 列3
a a
b a
c 如果相同,就在列3中填true,不同就false,请问怎么实现呢?列1 列2 列3
a a -->true
b a -->false
c
a
b
c 当我update 列2 的值时,触发器把列2的值和列1比较,列1 列2 列3
a a
b a
c 如果相同,就在列3中填true,不同就false,请问怎么实现呢?列1 列2 列3
a a -->true
b a -->false
c
解决方案 »
- ORA-01427 单行子查询返回多个行 || 大家能帮我看一下SQL吗..
- 向oracle10g中插入blob类型的数据,写sql语句
- 怎么在客户端通过P_SQL客户端备份服务器上的Oracle数据库?
- JEMSF
- 百分求一统计问题的解决办法!!!
- ORA-12571.TNS:包写入程序失败! 这是怎么回事?高分求助!!!!
- oracle转义字符
- 如何定义视图中虚拟字段的数据类型和长度?--急--
- 当要插入的数据宽度大于Oracle数据表的字段宽度,怎样来增大字段的宽度呢?救命啊!(回复者有分)
- jdbc操作Oracle求助
- 求一存储过程
- PL/SQL如何用游标取下一行的值,而不取当前行的值??
CREATE TABLE t(x VARCHAR2(2),y VARCHAR2(2),c VARCHAR2(10));
INSERT INTO t VALUES('a',NULL,NULL);
INSERT INTO t VALUES('b',NULL,NULL);
INSERT INTO t VALUES('c',NULL,NULL);
COMMIT;CREATE OR REPLACE TRIGGER TRIG_T
BEFORE UPDATE OF Y ON T FOR EACH ROW
BEGIN
IF :NEW.Y = :OLD.X THEN
:NEW.C := 'true';
ELSE
:NEW.C := 'false';
END IF;
END;
/
当更新b时执行你的那些操作..
create or replace trigger test_trigger
before update of b on test
for each row
begin
if :new.b = :old.a then
:new.c := 'true';
else
:new.c := 'false';
end if;
end;