---
title: SQL-067: Update Provider Address
summary: Updates an existing provider address record in Oracle.
status: draft
owner: SAIF
last_reviewed: 2026-07-24
library: SAIF.Business.Provider
reference_type: package
---

# SQL-067: Update Provider Address

Updates an existing provider address record in Oracle.

## Classification

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

## Parameters

| Parameter | Direction | Type | Max length | Description |
| --- | --- | --- | --- | --- |
| :ProviderLocationSeqNum | Input | Decimal | N/A | Value from `ProviderLocationSeqNum` |
| :ProviderAddressCode | Input | String | 5 | Value from `ProviderAddressCode` |
| :EffDate | Input | Date | N/A | Value from `EffDate` |
| :ForeignAddressFlag | Input | String | 1 | Value from `ForeignAddressFlag` |
| :ExpDate | Input | clsSmartDate | N/A | Value from `m_ExpDate` |
| :AddressLine1 | Input | clsSmartString | 40 | Value from `m_AddressLine1` |
| :AddressLine2 | Input | clsSmartString | 40 | Value from `m_AddressLine2` |
| :AddressLine3 | Input | clsSmartString | 40 | Value from `m_AddressLine3` |
| :CityName | Input | clsSmartString | 25 | Value from `m_CityName` |
| :StateCode | Input | clsSmartString | 2 | Value from `m_StateCode` |
| :ZipCode | Input | clsSmartDecimal | N/A | Value from `m_ZipCode` |
| :ZipCodeExt | Input | clsSmartString | 4 | Value from `m_ZipCodeExt` |
| :CountryCode | Input | clsSmartString | 2 | Value from `m_CountryCode` |
| :ProviderAddressSeqNum | Input | Decimal | N/A | Value from `ProviderAddressSeqNum` |
| :UpdateUser | Input | String | 30 | Value from `UpdateUser` |
| :UpdateNum | Input | Decimal | N/A | Value from `UpdateNum` |
| :UpdateDate | Input | Date | N/A | Value from `UpdateDate` |

## Tables

| Table | Access | Columns used |
| --- | --- | --- |
| [PROVIDER_ADDRESS](../database-tables.md#provider_address) | UPDATE | See business-object criteria for key columns. |

## Sample SQL

```sql
Update PROVIDER_ADDRESS Set PROVIDER_ADDRESS_SEQ_NUM = :ProviderAddressSeqNum, PROVIDER_LOCATION_SEQ_NUM = :ProviderLocationSeqNum, PROVIDER_ADDRESS_CODE = :ProviderAddressCode, EFF_DATE = :EffDate, EXP_DATE = :ExpDate, ADDRESS_LINE1 = :AddressLine1, ADDRESS_LINE2 = :AddressLine2, ADDRESS_LINE3 = :AddressLine3, CITY_NAME = :CityName, STATE_CODE = :StateCode, ZIP_CODE = :ZipCode, ZIP_CODE_EXT = :ZipCodeExt, COUNTRY_CODE = :CountryCode, FOREIGN_ADDRESS_FLAG = :ForeignAddressFlag, UPDATE_USER = :UpdateUser, UPDATE_NUM = UPDATE_NUM + 1, UPDATE_DATE = :UpdateDate Where PROVIDER_ADDRESS.PROVIDER_ADDRESS_SEQ_NUM = :ProviderAddressSeqNum AND UPDATE_NUM = :UpdateNum
```


## Operations and processes
- [Maintain provider address](../operations/maintain-provider-address.md)

## Business rules
- [BR-007: Address effective periods must not overlap](../business-rules.md#br-007-address-effective-periods-must-not-overlap)
- [BR-008: Domestic addresses require city, state, and ZIP data](../business-rules.md#br-008-domestic-addresses-require-city-state-and-zip-data)

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

## Sources
- `Business\SAIF.Business.Provider\clsProviderAddress.vb`
