C와 같은 POS 시스템을 가지고 있으며 오랜 시간 동안 문제가 없었습니다 (단지 POS 한 개였습니다). 그러나 요즘에는 시스템을 사용하는 4 POS가 있고 동일한 데이터베이스에 연결되어 있고 한 POS의 모든 판매는 다른 모든 판매가 이루어지는 동일한 감사 (테이블)로 이동합니다. 그래서이 시스템에서이 절차를 대기 시간으로 인해 SQL 서버에서 중복되는 것을 피하십시오.
- 기능입니다.
- 이 티켓 번호 (터미널, 날짜 및 직원 코드 포함)를 알고리즘에 삽입하는 ID 코드를 생성합니다.
- 모든 필수 정보 (날짜, 고객, 직원, ID 코드 등)가있는 데이터베이스에 판매 기록을 삽입하십시오. .)() 간단한 삽입 INTO와
하지만 터미널과 직원이 다르기 때문에 같은 티켓 번호를 가진 일부 판매, 다행히 티켓 ID 코드가 동일하지 않습니다 실현,하지만 어떻게 4 POS를 가진 이걸 피할 수 있니?
편집 1 : 모든 POS 시스템, 듀얼 기능이이 모드의 모든 POS는 (그들은 모두 하나의 POS 등) 다른 모드 모든 POS에서 연속 티켓을 생성 한 모드 POS 판매는 중앙, 그리고에 그런 이유로 자신의 티켓 번호가 있으니 신원을 사용할 수 없습니다.
코드를 잘 나타내야합니다. – dario
데이터베이스에는 단일 원자 작업에서 다음 번호를 생성하는'identity' 열이 있습니다. 두 작업이 동시에 발생하지 않는다고 보장 할 수 없기 때문에 다중 스레드 환경에서 직접 생성하지 마십시오. 데이터베이스가 식별자를 생성하도록하십시오. – David
프로그래밍 방식으로 레코드 식별자를 만들지 마십시오. 데이터베이스가이를 처리하도록하고 (David은 말했듯이) 중요한 작업에 트랜잭션을 사용합니다. – Filburt