ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • DB에서 자동순번 필드의 현재 순번 구하기
    IT/VB6.0 2024. 10. 3. 06:56
    728x90
    반응형

    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
Designed by Tistory.