---
title: "SQL-029: Read PERSON for `clsContact`"
summary: Read statement for `clsContact` against PERSON.
status: draft
owner: SAIF
last_reviewed: 2026-07-24
library: SAIF.Business.CustomerContact
reference_type: package
---

# SQL-029: Read PERSON for `clsContact`

This statement supports `clsContact` by executing a read operation against PERSON.

## Classification

| Field | Value |
| --- | --- |
| SQL ID | SQL-029 |
| Operation type | Read |
| Execution method | Inline |
| Database | Oracle |
| Schema | `[unqualified]**` |
| Command type | Text |
| Business object | `clsContact` |
| Criteria property | RetrieveSQL |
| Lifecycle method | BeforeRetrieve |

## Parameters

| Parameter | Direction | Type | Max length | Description |
| --- | --- | --- | --- | --- |
| `:ContactID` | Input | Decimal | N/A | Contact primary key |

## Tables

| Table | Access | Columns used |
| --- | --- | --- |
| [PERSON](../database-tables.md#person) | SELECT | ACTIVE_FLAG, ALIAS_NAME, ANNIVERSARY_DATE, BIRTH_DATE, CREATE_DATE, CREATE_USER, DRIVERS_LICENSE_NUM, DRIVERS_LICENSE_STATE, EFF_DT, ETHNIC_GROUP_CODE, EXP_DT, FIRST_NAME, GENDER_CODE, LAST_NAME, MAIDEN_NAME, MARRIED_NAME, MIDDLE_INITIAL, NAME, NAME_EXTENSION, NICK_NAME, NOTE_TEXT, PERSON_SEQ_NUM, PREFERRED_NAME, PRIMARY_FLAG, TAX_ID, UPDATE_DATE, UPDATE_USER |

## Sample SQL

```sql
Select PERSON.PERSON_SEQ_NUM as ContactID, PERSON.NAME as Name, PERSON.LAST_NAME as LastName, PERSON.FIRST_NAME as FirstName, PERSON.MIDDLE_INITIAL as MiddleInitial, PERSON.MARRIED_NAME as MarriedName, PERSON.MAIDEN_NAME as MaidenName, PERSON.NICK_NAME as NickName, PERSON.ALIAS_NAME as AliasName, PERSON.DRIVERS_LICENSE_NUM as DriversLicenseNumber, PERSON.DRIVERS_LICENSE_STATE as DriversLicenseState, PERSON.BIRTH_DATE as BirthDate, PERSON.TAX_ID as TaxID, PERSON.GENDER_CODE as GenderCode, PERSON.ETHNIC_GROUP_CODE as EthnicGroupCode, PERSON.CREATE_DATE as CreateDate, PERSON.CREATE_USER as CreateUser, PERSON.UPDATE_USER as UpdateUser, PERSON.UPDATE_DATE as UpdateDate, PERSON.NAME_EXTENSION as NameExtension, PERSON.EFF_DT as EffectiveDate, PERSON.EXP_DT as ExpirationDate, PERSON.ACTIVE_FLAG as IsActive, PERSON.PRIMARY_FLAG as IsPrimary, PERSON.ANNIVERSARY_DATE as AnniversaryDate, PERSON.PREFERRED_NAME as PreferredName, PERSON.NOTE_TEXT as NoteText From Person Where PERSON.PERSON_SEQ_NUM = :ContactID
```

## Operations and processes
- [Contact CRUD with child persistence](../operations/contact-crud-with-child-persistence.md)

> **Note:** Statements marked with `**` could not be confirmed; treat as unknown until verified.

## Sources
- `Business\SAIF.Business.CustomerContact\Contact\clsContact.vb`
