>데이터 베이스 >MySQL 튜토리얼 >일일 재고 평가를 위해 MySQL 쿼리를 예약하는 방법은 무엇입니까?

일일 재고 평가를 위해 MySQL 쿼리를 예약하는 방법은 무엇입니까?

Patricia Arquette
Patricia Arquette원래의
2024-11-28 17:58:12264검색

How to Schedule MySQL Queries for Daily Inventory Valuation?

MySQL 쿼리 예약: 재고 평가 시나리오

재고 관리 시스템은 일반적으로 두 개의 테이블에 제품 데이터를 저장합니다. 하나는 항목 세부 정보(table_1)입니다. ) 및 재고 수량에 대한 또 다른 정보(table_2)입니다. 보고 목적으로 사용자는 과거 날짜의 재고 평가를 확인해야 할 수도 있습니다. 그러나 품목 비용과 수량은 구매 및 판매에 따라 변동될 수 있으므로 현재 평가는 당일 데이터에 대해서만 정확합니다.

이 문제를 해결하기 위한 한 가지 옵션은 반복 작업을 예약하여 과거 재고 평가를 생성하는 것입니다. . MySQL에서 가능한 방법은 다음과 같습니다.

옵션 1: 이벤트 스케줄러

MySQL의 이벤트 스케줄러를 사용하면 데이터베이스 내에서 예약된 작업을 실행할 수 있습니다. 매일 주식 평가 덤프를 예약하려면 itemcode, amount, avgcost, ttlval 및 dump_date 필드를 사용하여 stock_dumps라는 테이블을 생성합니다.

그런 다음 다음 SQL 문을 사용하여 Dumping_event라는 이벤트를 생성합니다.

CREATE EVENT `Dumping_event` ON SCHEDULE
        EVERY 1 DAY
    ON COMPLETION NOT PRESERVE
    ENABLE
    COMMENT ''
    DO BEGIN
INSERT INTO stock_dumps(itemcode, quantity, avgcost, ttlval,dump_date)
SELECT itmcode, quantity, avgcost, (avgcost * quantity)as ttlval, NOW()
  FROM table_1 JOIN table_2 ON table_1.itmcode = table_2.itmcode;
END

옵션 2: 크론 작업

또는 cron 작업 또는 Windows 예약 작업을 생성하여 덤프를 수행하는 SQL 파일을 실행할 수 있습니다. SQL 파일에는 다음 명령문이 포함됩니다.

INSERT INTO stock_dumps(itemcode, quantity, avgcost, ttlval,dump_date)
SELECT itmcode, quantity, avgcost, (avgcost * quantity)as ttlval, NOW()
FROM table_1 JOIN table_2 ON table_1.itmcode = table_2.itmcode;

작업이 매일 실행되도록 예약하면 stock_dumps 테이블에 저장된 과거 재고 평가 레코드가 생성됩니다.

위 내용은 일일 재고 평가를 위해 MySQL 쿼리를 예약하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.