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

# SQL-002: Insert ADDRESS for `clsAddressInfo`

This statement supports `clsAddressInfo` by executing a create operation against ADDRESS.

## Classification

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

## Parameters

| Parameter | Direction | Type | Max length | Description |
| --- | --- | --- | --- | --- |
| `:AddressID` | Input | Decimal | N/A | Address primary key |
| `:AddressCode` | Input | String | 5 | Address type code |
| `:AddressLine1` | Input | String | 40 | Address line 1 |
| `:AddressLine2` | Input | String | 40 | Address line 2 |
| `:AddressLine3` | Input | String | 40 | Address line 3 |
| `:AddressLine4` | Input | String | 40 | Address line 4 |
| `:CityName` | Input | String | 30 | City name |
| `:StateCode` | Input | String | 2 | State code |
| `:ZipCode` | Input | String | 5 | Postal code |
| `:ZipCodeExtension` | Input | String | 4 | Postal code extension |
| `:CountryCode` | Input | Integer | 5 | Country code |
| `:ForeignAddressFlag` | Input | String (Y/N) | 1 | Foreign-address flag |
| `:ForeignPostalCode` | Input | String | 15 | Foreign postal code |
| `:CreateDate` | Input | Date | N/A | Audit create timestamp |
| `:CreateUser` | Input | String | 30 | Audit create user |
| `:EffectiveDate` | Input | Date | N/A | Effective date |
| `:ExpirationDate` | Input | Date | N/A | Expiration date |
| `:ActiveFlag` | Input | String (Y/N) | 1 | Active flag |
| `:PrimaryFlag` | Input | String (Y/N) | 1 | Primary flag |
| `:NoteText` | Input | String | 100 | Free-form note text |
| `:CountyCode` | Input | Integer | 5 | County code |
| `:LocationName` | Input | String | 100 | Location name |

## Tables

| Table | Access | Columns used |
| --- | --- | --- |
| [ADDRESS](../database-tables.md#address) | INSERT | ACTIVE_FLAG, ADDRESS_CODE, ADDRESS_LINE1, ADDRESS_LINE2, ADDRESS_LINE3, ADDRESS_LINE4, ADDRESS_SEQ_NUM, CITY_NAME, COUNTRY_CODE, COUNTY_CODE, CREATE_DATE, CREATE_USER, EFF_DT, EXP_DT, FOREIGN_ADDRESS_FLAG, FOREIGN_POSTAL_CODE, LOCATION_NAME, NOTE_TEXT, PRIMARY_FLAG, STATE, UPDATE_DATE, UPDATE_USER, ZIP_CODE, ZIP_CODE_EXT |

## Sample SQL

```sql
Insert into ADDRESS ( ADDRESS_SEQ_NUM, ADDRESS_CODE, ADDRESS_LINE1, ADDRESS_LINE2, ADDRESS_LINE3, ADDRESS_LINE4, CITY_NAME, STATE, ZIP_CODE, ZIP_CODE_EXT, COUNTRY_CODE, FOREIGN_ADDRESS_FLAG, FOREIGN_POSTAL_CODE, CREATE_DATE, CREATE_USER, UPDATE_USER, UPDATE_DATE, EFF_DT, EXP_DT, ACTIVE_FLAG, PRIMARY_FLAG, NOTE_TEXT, COUNTY_CODE, LOCATION_NAME ) Values ( :AddressID, :AddressCode, :AddressLine1, :AddressLine2, :AddressLine3, :AddressLine4, :CityName, :StateCode, :ZipCode, :ZipCodeExtension, :CountryCode, :ForeignAddressFlag, :ForeignPostalCode, :CreateDate, :CreateUser, NULL, NULL, :EffectiveDate, :ExpirationDate, :ActiveFlag, :PrimaryFlag, :NoteText, :CountyCode, :LocationName)
```

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

## Business rules
- [BR-005: Address records require an ID and address type](../business-rules.md#br-005-address-records-require-an-id-and-address-type)

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

## Sources
- `Business\SAIF.Business.CustomerContact\InfoItems\clsAddressInfo.vb`
