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

# SQL-003: Insert PERSON for `clsContact`

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

## Classification

| Field | Value |
| --- | --- |
| SQL ID | SQL-003 |
| Operation type | Create |
| Execution method | Inline |
| Database | Oracle |
| Schema | `[unqualified]**` |
| Command type | Text |
| Business object | `clsContact` |
| Criteria property | InsertSQL |
| Lifecycle method | BeforeInsert |

## 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 |
| `:CreateDate` | Input | Date | N/A | Audit create timestamp |
| `:CreateUser` | Input | String | 30 | Audit create user |

## Tables

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

## 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`
