如日期变量是日期类型
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')=日期变量;

解决方案 »

  1.   

    1.where to_char(myDate,'yyyymmdd')=to_char(sysdate,'yyyymmdd')
    2. update a set myCount=... where ... and myCount>=1
      

  2.   

    第二问:
    当A表减一条记录,B表的计数字段减一,条件是表的计数字段>1。
      

  3.   

    第一问:
    delete from table
    where trunc(日期变量) = trunc(sysdate);
      

  4.   

    DECLARE
       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是另一个表新加的记录
      

  5.   

    补充楼上:
    应该是
    当A表减一条记录,B表的计数字段减一,条件是表的计数字段>=1或者>0。
      

  6.   

    update B_counter set TODAY_COUNT=TODAY_COUNT-1 WHERE TODAY_COUNT>0;
      

  7.   

    当天纪录删除,每天触发。
    delete B_counter t WHERE to_char(t.date,'yyyy-mm-dd')
    =to_char(sysdate,'yyyy-mm-dd')
    不用if判断。