首先判断这个字段的值
SELECT AA INTO S_AA FROM TABLE WHERE ID=
IF s_aa ='XXX' then
DELETE ....
ELSE
UPDATE ...... end if;
SELECT AA INTO S_AA FROM TABLE WHERE ID=
IF s_aa ='XXX' then
DELETE ....
ELSE
UPDATE ...... end if;
解决方案 »
- oracle in的问题
- ORA-12514: TNS:listener does not currently know of service requested in connect
- 各位数据库达人请进。。非常感谢。
- 各位DBA,小弟急需你的帮助!!!
- 考考大家,给出一个最简单的条件语句SQL!
- 怎么像oracle erp那样设计表结构
- 菜鸟问题:如果显示ORACLE中表中的数据啊,有没有不用SQLPLUS的方法直接以表格的形式显示出来的。
- 还有在的吗?散分了:)
- 请教:小弟刚学oracle,我已经建立了一个数据库名叫ora8然后为其配置了一个服务名new,配置了一个监听程序,在sql plus中,以system/manag
- 建立系统DSN的时侯:Service Name对应的输入框,应如何填?100分赠送!
- 急:ora-12699本机服务内部错误,愿呈上100分
- 复合语句的问题?select * from user where id not in (select top 15 id from user order by id) order by id "
你这是写在触发器里面的语句吗?我的意思是当更新一记录时触发一触发器,在触发器内部根据具体的情况再做删除处理。但我试了一下发现好像在触发器内不能实现此功能,不知道是不是触发器真的不能实现此功能?
这会有什么问题了?又如何解决了?
CREATE OR REPLACE TRIGGER aaaa_test
before Update
ON aaaa REFERENCING NEW AS NEW OLD AS OLD
FOR EACH ROW
BEGIN
if :NEW.no='10' then
aaaa_package.dele_bool:='1';
end if;
END;
语句级执行.
CREATE OR REPLACE TRIGGER aaaa_test1
after Update
ON aaaa REFERENCING NEW AS NEW OLD AS OLD
BEGIN
if aaaa_package.dele_bool='1' then
delete aaaa where no='10';
aaaa_package.dele_bool:='0';
end if;
END;
包体记录判断条件
CREATE OR REPLACE package aaaa_package
IS
v_deleteID aaaa.no%type;
dele_bool char(1):='0';
end aaaa_package;
/
CREATE TABLE AAAA
(
NO VARCHAR2(10)
)
这种情况是变异表处理.我测试成功.