이 글은 기계 번역의 미러 문서이며, 원본 기사로 바로 이동하려면 여기를 클릭해 주세요.

보기: 7095|회답: 0

데이터베이스의 기반이 되는 트랜잭션 및 저장 프로시저

[링크 복사]
게시됨 2019. 3. 15. 오후 10:45:21 | | | |


머리말


지난번에는 SQL의 기본 내용을 모두 정리하려고 했지만, 어느새 시간이 흐르는 것을 느꼈습니다. 이 기사는 아래에서 계속됩니다.


문자 메시지


먼저, 필요한 테이블을 만들겠습니다



먼저 SQL 문장을 실행해 봅시다


이 코드는 0001의 잔여를 1000으로, 0002의 잔여를 1000으로 빼냅니다. 하지만 테이블을 만들 때 제약 조건을 추가했고, 잔액은 10 이상이어야 합니다.

결과는 다음과 같습니다:
                  

그래서 이 코드 실행 오류: "UPDATE 문은 CHECK 제약 조건 "CH_balance"과 충돌합니다. 충돌은 데이터베이스 "DemoDb"에서 발생하며, "dbo" 테이블이 있습니다. 은행", '잔액' 열.” 。 한 문장이 오류라면, 다른 문장이 성공적으로 실행되었는지 여부를 판단합니다.

쿼리 결과는 다음과 같습니다:
                     

다른 SQL 문장은 오류가 없지만 여전히 성공적으로 커밋되지 않는 것을 볼 수 있습니다. 여기 저희가 공개할 내용을 알려드리겠습니다.

#거래 내역

거래란 무엇인가요?
엄밀히 말해, 연산이 원자성, 지속성, 격리, 일관성을 만족한다면, 그 연산은 트랜잭션이라고 부릅니다.
트랜잭션을 자동으로 제출하기: SQL Server에서. 기본적으로 모든 SQL 문은 트랜잭션입니다.
트랜잭션 표시: 각 트랜잭션은 BEGIN TRANSACTION 문으로 명시적으로 시작하여 COMMIT 또는 ROLLBACK 문으로 명시적으로 종료됩니다.



위에서 언급한 데모는 롤백으로 끝났기 때문에 SQL 실행은 적용되지 않습니다. 데이터는 성공적으로 수정되지 않았습니다.

실제 개발 및 적용에서는 보통 비쿼리 문장 외부에 트랜잭션 계층을 설정하여 실제 필요에 따른 데이터의 무결성과 일관성을 보장합니다. 모두 하든지 아니면 하지 말든지 둘 중 하나입니다.

결함이 있는 SQL을 기록하는 두 가지 시스템 변수가 있습니다. - @@rowcount 영향을 받은 라인 수를 반환하며, 잘못된 인코딩을 반환@@error

이 두 시스템 변수를 사용해 SQL에 오류가 있는지 판단하고 위의 두 SQL 문장을 실행해 봅시다.



#저장 프로시저

의미: 수행되는 프로세스(복잡할 수 있음)를 이름으로 캡슐화한 후, 그 이름을 사용해 프로세스를 수행하는 것.



>
매개변수 없는 저장 프로시저


>매개변수가 있는 저장 프로시저



>반환 값이 있는 저장 프로시저



데이터베이스에서 잡아보세요



또한 이전 문서에서 언급한 페이지네이션에 관한 기본 매개변수를 가진 저장 프로시저도 있습니다.


에필로그


저장 프로시저는 실제 프로젝트에서 더 많이 사용되며, 많은 오래된 시스템들, 비즈니스 로직은 저장 프로시저로 작성되고 그 뒤에 있는 사람들이 유지하고 있습니다. 그들은 단지 몇 분 만에 앞에서 머리를 두드리고 싶어 합니다. 일반적으로 비즈니스 로직은 코드에 작성되지만, 데이터베이스에서 데이터 읽히는 횟수와 비즈니스 로직은 스토리지 프로세스에 작성됩니다. 작년에는 회사 프로젝트의 매우 복잡한 비즈니스 로직 연쇄가 스토리지 프로세스로 옮겨져 속도가 수십 배 증가했습니다. 물론, 특별한 사정은 특별히 다뤄집니다. 구체적인 적용은 실제 상황에 따라 다릅니다.






(참고: 위 내용은 올해의 학습 노트입니다. 부적절한 부분이 있으면 꼭 수정해 주세요!) )









이전의:대기업의 고객 서비스 시스템에 대해 공감합니다
다음:안달레 HCNP와 HCIE 영상
면책 조항:
Code Farmer Network에서 발행하는 모든 소프트웨어, 프로그래밍 자료 또는 기사는 학습 및 연구 목적으로만 사용됩니다; 위 내용은 상업적 또는 불법적인 목적으로 사용되지 않으며, 그렇지 않으면 모든 책임이 사용자에게 부담됩니다. 이 사이트의 정보는 인터넷에서 가져온 것이며, 저작권 분쟁은 이 사이트와는 관련이 없습니다. 위 내용은 다운로드 후 24시간 이내에 컴퓨터에서 완전히 삭제해야 합니다. 프로그램이 마음에 드신다면, 진짜 소프트웨어를 지원하고, 등록을 구매하며, 더 나은 진짜 서비스를 받아주세요. 침해가 있을 경우 이메일로 연락해 주시기 바랍니다.

Mail To:help@itsvse.com