---
title: "SQL-034: Read PERSON_PHONE, PHONE for `clsContactPhoneCollection`"
summary: Read statement for `clsContactPhoneCollection` against PERSON_PHONE, PHONE.
status: draft
owner: SAIF
last_reviewed: 2026-07-24
library: SAIF.Business.CustomerContact
reference_type: package
---

# SQL-034: Read PERSON_PHONE, PHONE for `clsContactPhoneCollection`

This statement supports `clsContactPhoneCollection` by executing a read operation against PERSON_PHONE, PHONE.

## Classification

| Field | Value |
| --- | --- |
| SQL ID | SQL-034 |
| Operation type | Read |
| Execution method | Inline |
| Database | Oracle |
| Schema | `[unqualified]**` |
| Command type | Text |
| Business object | `clsContactPhoneCollection` |
| 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_PHONE](../database-tables.md#person-phone) | SELECT / JOIN | PERSON_SEQ_NUM, PHONE_SEQ_NUM |
| [PHONE](../database-tables.md#phone) | SELECT / JOIN | ACTIVE_FLAG, AREA_CODE, COUNTRY_CODE, EFF_DT, EXP_DT, FOREIGN_FLAG, LONG_DISTANCE_FLAG, NOTE_TEXT, PERSON_SEQ_NUM, PHONE_CODE, PHONE_EXTENSION, PHONE_NUM, PHONE_PREFIX, PHONE_SEQ_NUM, PRIMARY_FLAG, UPDATE_DATE, UPDATE_USER |

## Sample SQL

```sql
Select PHONE.PHONE_SEQ_NUM as PhoneID, PHONE.PHONE_CODE as PhoneCode, PHONE.PHONE_NUM as PhoneNumber, PHONE.EFF_DT as EffectiveDate, PHONE.EXP_DT as ExpirationDate, PHONE.ACTIVE_FLAG as ActiveFlag, PHONE.PRIMARY_FLAG as PrimaryFlag, PHONE.NOTE_TEXT as NoteText, PHONE.AREA_CODE as AreaCode, PHONE.PHONE_PREFIX as PhonePrefix, PHONE.PHONE_EXTENSION as PhoneExtension, PHONE.FOREIGN_FLAG as ForeignFlag, PHONE.COUNTRY_CODE as CountryCode, PHONE.LONG_DISTANCE_FLAG as LongDistanceFlag, PHONE.UPDATE_DATE as UpdateDate, PHONE.UPDATE_USER as UpdateUser From Person_Phone, Phone Where Person_Phone.Phone_SEQ_NUM = Phone.Phone_SEQ_NUM AND Person_Phone.Person_SEQ_NUM = :ContactID
```

## Operations and processes
- [Phone info CRUD and linking](../operations/phone-info-crud-and-linking.md)

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

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