>  기사  >  데이터 베이스  >  MySQL에서 일일 재고 평가 보고서를 어떻게 자동화할 수 있습니까?

MySQL에서 일일 재고 평가 보고서를 어떻게 자동화할 수 있습니까?

Linda Hamilton
Linda Hamilton원래의
2024-11-26 21:21:11331검색

How Can I Automate Daily Inventory Valuation Reports in MySQL?

MySQL 쿼리 예약

MySQL의 이벤트 스케줄러 기능을 사용하면 사용자는 지정된 간격으로 작업이 실행되도록 예약할 수 있습니다. 이 기능은 정기적인 데이터 백업이나 정기적인 보고서 생성과 같은 다양한 시나리오에 유용합니다.

사례 연구: 재고 평가

재고 데이터베이스가 있는 경우 과거 날짜에 대한 항목별 평가 보고서를 생성해야 합니다. 현재 주식의 가치를 수동으로 계산할 수 있지만 과거 가치도 추적할 수 있는 방법이 필요합니다.

해결책: 이벤트 스케줄러 사용

쿼리를 예약하려면 평가 데이터를 별도의 테이블에 덤프하는 경우 다음을 따르세요. 단계:

  1. 대상 테이블 생성:

    CREATE TABLE stock_dumps (
        itemcode VARCHAR(255),
        quantity INT,
        avgcost DECIMAL(10,2),
        ttlval DECIMAL(10,2),
        dump_date DATETIME
    );
  2. 설정 예약:

    CREATE EVENT Dumping_event
    ON SCHEDULE EVERY 1 DAY
    ON COMPLETION NOT PRESERVE
    ENABLE
    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;

대안: Cron/예약 작업 사용

이벤트 스케줄러를 사용하지 않으려면 다음을 수행하세요. 덤프 쿼리가 포함된 SQL 파일을 실행하는 크론 작업 또는 예약된 작업을 생성합니다.

  1. 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;
  2. 작업:

    mysql -u [user] -p [password] < /path/to/SQL_file.sql

이 쿼리를 매일 또는 필요한 만큼 자주 예약하면 재고 평가 기록을 유지하고 과거 날짜에 대한 보고서를 생성할 수 있습니다.

위 내용은 MySQL에서 일일 재고 평가 보고서를 어떻게 자동화할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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