---
title: "SQL-066: clsContact"
summary: Update statement for clsContact.
status: draft
owner: SAIF
last_reviewed: 2026-07-24
library: SAIF.Business.CustomerContact
reference_type: package
---

# SQL-066: clsContact

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

## Classification

| Field | Value |
| --- | --- |
| SQL ID | SQL-066 |
| Operation type | Update |
| Execution method | Inline |
| Database | Oracle |
| Schema | `[unqualified]**` |
| Command type | Text |
| Business object | `clsContact` |
| Criteria property | UpdateSQL |
| Lifecycle method | BeforeUpdate |

## Parameters

| Parameter | Direction | Type | Max length | Description |
| --- | --- | --- | --- | --- |
| `:Name` | Input | String | 50 | Formatted contact name |
| `:IsActive` | Input | String (Y/N) | 1 | Active flag |
| `:IsPrimary` | Input | String (Y/N) | 1 | Primary flag |
| `:LastName` | Input | String | 50 | Formatted last-name search string or contact last name |
| `:FirstName` | Input | String | 50 | Formatted first-name search string or contact first name |
| `:MiddleInitial` | Input | String | 1 | Middle initial |
| `:MarriedName` | Input | String | 50 | Married name |
| `:MaidenName` | Input | String | 50 | Maiden name |
| `:NickName` | Input | String | 50 | Nickname |
| `:AliasName` | Input | String | 50 | Alias name |
| `:DriversLicenseNumber` | Input | Unknown | 15 | Driver license number |
| `:DriversLicenseState` | Input | String | 2 | Driver license state |
| `:BirthDate` | Input | Date | N/A | Birth date |
| `:TaxID` | Input | Decimal | 11 | Federal tax identifier |
| `:GenderCode` | Input | String | 5 | Gender code |
| `:EthnicGroupCode` | Input | String | 5 | Ethnic-group code |
| `:UpdateUser` | Input | Date | 30 | Audit update user |
| `:UpdateDate` | Input | Date | N/A | Audit update timestamp |
| `:NameExtension` | Input | String | 5 | Name suffix |
| `:EffectiveDate` | Input | Date | N/A | Effective date |
| `:ExpirationDate` | Input | Date | N/A | Expiration date |
| `:AnniversaryDate` | Input | Date | N/A | Anniversary date |
| `:PreferredName` | Input | String | 50 | Preferred name |
| `:NoteText` | Input | String | 100 | Free-form note text |
| `:ContactID` | Input | Decimal | N/A | Contact primary key |

## Tables

| Table | Access | Columns used |
| --- | --- | --- |
| [PERSON](../database-tables.md#person) | UPDATE | ACTIVE_FLAG, ALIAS_NAME, ANNIVERSARY_DATE, BIRTH_DATE, 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
Update PERSON Set NAME = :Name, LAST_NAME = :LastName, FIRST_NAME = :FirstName, MIDDLE_INITIAL = :MiddleInitial, MARRIED_NAME = :MarriedName, MAIDEN_NAME = :MaidenName, NICK_NAME = :NickName, ALIAS_NAME = :AliasName, DRIVERS_LICENSE_NUM = :DriversLicenseNumber, DRIVERS_LICENSE_STATE = :DriversLicenseState, BIRTH_DATE = :BirthDate, TAX_ID = :TaxID, GENDER_CODE = :GenderCode, ETHNIC_GROUP_CODE = :EthnicGroupCode, UPDATE_USER = :UpdateUser, UPDATE_DATE = :UpdateDate, NAME_EXTENSION = :NameExtension, EFF_DT = :EffectiveDate, EXP_DT = :ExpirationDate, ACTIVE_FLAG = :IsActive, PRIMARY_FLAG = :IsPrimary, ANNIVERSARY_DATE = :AnniversaryDate, PREFERRED_NAME = :PreferredName, NOTE_TEXT = :NoteText 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`
