Table에 자동순번을 PK로 사용하는 경우가 많다.
** 자동순번 필드는 데이터를 넣으면 자동으로 번호가 증가된다. ** SQL-SERVER 는 필드속성 자체를 자동순번으로 정의할 수 있으나 ORACLE은 시퀀스를 이용한다. 자동순번을 가진 Table이 하위의 Table을 가지고 있으면 그 하위 Table은 상위 Table의 순번을 가져와서 데이터를 저장하는 경우가 많다. 그때 상위 Table의 순번을 참조하는 기본적인 SQL 문은 다음과 같다. -다 음- 1) ORACLE : select SEQCUST.currval id from dual ** SEQCUST 는 시퀀스 2) SQL-SERVER : select @@identity id ** 상위 Table에 데이터 저장 후 실행해야 한다. ** VB로 구현한 Module Public Function GetSystemSeq(ByRef Cn As ADODB.Connection, Optional sSeq As Variant) As Long ' ' SQL-SERVER (iGblDB: 1)/ORACLE (iGblDB: 0) 시스템 순번 구하기 ' Dim sSql As String Dim RST As ADODB.Recordset ' Dim iSeq As Long ' If iGblDB = 0 Then sSql = "select " & CmyStrTrim(sSeq) & ".currval id from dual " Else sSql = "select @@identity id " End If Set RST = GetADORecordset(Cn, sSql) ' iSeq = 0 ' If Not RST.EOF Then iSeq = CmyLng(RST("id")) End If ' Call ReleaseADORecordset(RST) ' GetSystemSeq = iSeq ' End Function 출처: www.erpplus.co.kr |
728x90
반응형
'IT > VB6.0' 카테고리의 다른 글
| 웹서비스 설정 (0) | 2024.10.06 |
|---|---|
| 폼 및 모듈내의 명령어 검색 프로그램 (0) | 2024.10.05 |
| SQL문 변환 (프로그램 소스로...) (0) | 2024.10.05 |
| 바코드 프린터 제어 프로그램 (0) | 2024.10.03 |
| VB6.0의 mscomm component 속성 등 (0) | 2024.10.03 |