如日期变量是日期类型
sql>delete from table
where to_char(sysdate,'yyyy/mm/dd')=to_char(日期变量,'yyyy/mm/dd');
如日期变量是字符类型,格式为“yyyy/mm/dd”
sql>delete from table
where to_char(sysdate,'yyyy/mm/dd')=日期变量;
sql>delete from table
where to_char(sysdate,'yyyy/mm/dd')=to_char(日期变量,'yyyy/mm/dd');
如日期变量是字符类型,格式为“yyyy/mm/dd”
sql>delete from table
where to_char(sysdate,'yyyy/mm/dd')=日期变量;
解决方案 »
- exists和执行计划问题,高手请进
- oralce 查询表的行数
- %TYPE与%ROWTYPE区别
- ORACLE9i中PGA和hash/sort_area_size的困惑?
- 帮我翻译一下简单的存储过程(SQLServer下的到Oralce下就不会写了)
- oracle导出数据命令目录对象什么意思啊?
- trigger小问题,高手请帮忙!!!!!!!!!!!!!
- 晕,重复执行一条SQL语句一次和两次的时间差别怎么那么大???
- about oracle functions !
- 菜鳥問題
- 低级问题:关于ORACLE中ISNULL,撒分了
- 求教一个很菜的问题:用SQL Plus 8.0连接其他服务器上的ORACLE8.0.5
2. update a set myCount=... where ... and myCount>=1
当A表减一条记录,B表的计数字段减一,条件是表的计数字段>1。
delete from table
where trunc(日期变量) = trunc(sysdate);
STR VARCHAR2(10);
begin
IF trim(:NEW.SORT)='0' THEN
update B_counter set SUPPLY_COUNT=SUPPLY_COUNT-1 WHERE ROWNUM=1;
END IF;
IF trim(:NEW.SORT)='1' THEN
update B_counter set DEMAND_COUNT=DEMAND_COUNT-1 WHERE ROWNUM=1;
END IF ;
IF trim(:NEW.SORT)='2' THEN
update B_counter set COOP_COUNT=COOP_COUNT-1 WHERE ROWNUM=1;
END IF;
IF trim(:NEW.SORT)='3' THEN
update B_counter set AGENT_COUNT=AGENT_COUNT-1 WHERE ROWNUM=1;
END IF ;
update B_counter set TODAY_COUNT=TODAY_COUNT-1 WHERE ROWNUM=1;
end trg_s_d_del;问题在这
update B_counter set TODAY_COUNT=TODAY_COUNT-1 WHERE ROWNUM=1;我要加一个判断
就是当天的执行
update B_counter set TODAY_COUNT=TODAY_COUNT-1 WHERE ROWNUM=1;
:NEW是另一个表新加的记录
应该是
当A表减一条记录,B表的计数字段减一,条件是表的计数字段>=1或者>0。
delete B_counter t WHERE to_char(t.date,'yyyy-mm-dd')
=to_char(sysdate,'yyyy-mm-dd')
不用if判断。