>>바람 님께서 쓰시길<<
:: create procedure count_page(p_code char(2))
:: define v_num integer;
:: select count(num) into v_num from counter where visit_date=current;
:: if(v_num > 0) then{
:: update counter set num = num+1
:: where visit_date=current and code=p_code;
:: }else{
:: insert into counter(p_code,visit_date,num)
:: values(p_code,current,1);
:: }
:: end if
::
:: end procedure;
::
:: execute procedure count_page('11');
:: 위처럼 했는데요..
:: 정상적인 작동이안되네요.
:: 어디가문제인지.. 첨만들어본 프로시져인데, 도움 부탁드립니다.
:: 테이블은..
::
:: create table counter(
:: p_code char(2),
:: visit_date date,
:: num integer
:: );
::
::
다른 부분은... 확신할 수 없고요...
일단
:: where visit_date=current and code=p_code;
이부분에서... current는 연월일-시간-분-초 까지 리턴하죠.
그러니까... 아마도...visit_date하고 같을리가 없겠죠...?
current : 2001-07-24 14:22:41.000
^_^;
방안은...
visit_date에서 수용해야하는 date의 범위를 먼저 정하고
(연월일-시분초까지 인지, 연월일-시분까지 인지)
그다음... current형을 적당히 변형해서.. 사용해야 겠죠.
where to_char(visit_date,'%Y%m%d%H%S') = to_char(current, '%Y%m%d%H%S')
이런 식으로 바꾼다면.. 아마.. 되겠죠..?
|