---
title: "SQL-077: clsBankAccount update"
summary: Updates a bank account record in BANK_ACCOUNT identified by BANK_ACCOUNT_SEQ_NUM.
status: draft
owner: SAIF
last_reviewed: 2026-07-24
library: SAIF.Business.Payment.EFT
reference_type: package
---

# SQL-077: clsBankAccount update

Updates a bank account record in BANK_ACCOUNT identified by BANK_ACCOUNT_SEQ_NUM.

## Classification

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


## Parameters

| Parameter | Direction | Type | Max length | Description |
| --- | --- | --- | --- | --- |
| :BankAccountDataSourceCode | Input | String | 5 | Binds `BankAccountDataSourceCode` |
| :BankAccountNickName | Input | String | 50 | Binds `BankAccountNickName` |
| :BankAccountNum | Input | String | 255 | Binds `BankAccountNum` |
| :BankAccountOwnerName | Input | String | 20 | Binds `BankAccountOwnerName` |
| :BankAccountStatusCode | Input | String | 5 | Binds `BankAccountStatusCode` |
| :BankAccountTypeCode | Input | String | 5 | Binds `BankAccountTypeCode` |
| :BusinessConsumerCode | Input | String | 5 | Binds `m_BusinessConsumerCode`* |
| :HistoricalAuthorizationFlag | Input | String | 1 | Binds `HistoricalAuthorizationFlag` |
| :BankAccountHolderName | Input | String | 50 | Binds `m_BankAccountHolderName`* |
| :BankName | Input | String | 50 | Binds `m_BankName`* |
| :BankRoutingNum | Input | String | 255 | Binds `m_BankRoutingNum`* |
| :PaymentReturnReasonCode | Input | String | 5 | Binds `m_PaymentReturnReasonCode`* |
| :UpdateDate | Input | Date | — | Binds `m_UpdateDate` / `UpdateDate`* |
| :UpdateIPAddr | Input | String | 30 | Binds `m_UpdateIPAddr` / `UpdateIPAddr` |
| :UpdateUser | Input | String | 30 | Binds `m_UpdateUser` / `UpdateUser`* |
| :BankAccountID | Input | Decimal | — | Binds `BankAccountID` |

## Tables

| Table | Access | Columns used |
| --- | --- | --- |
| [BANK_ACCOUNT](../database-tables.md#bank_account) | Write | — |

## Sample SQL

```sql
Update BANK_ACCOUNT
Set BANK_ACCOUNT_DATA_SOURCE_CODE = :BankAccountDataSourceCode,
  BANK_ACCOUNT_HOLDER_NAME = :BankAccountHolderName,
  BANK_ACCOUNT_NICK_NAME = :BankAccountNickName,
  BANK_ACCOUNT_NUM = :BankAccountNum,
  BANK_ACCOUNT_OWNER_NAME = :BankAccountOwnerName,
  BANK_ACCOUNT_SEQ_NUM = :BankAccountID,
  BANK_ACCOUNT_STATUS_CODE = :BankAccountStatusCode,
  BANK_ACCOUNT_TYPE_CODE = :BankAccountTypeCode,
  BANK_NAME = :BankName,
  BANK_ROUTING_NUM = :BankRoutingNum,
  BUSINESS_CONSUMER_CODE = :BusinessConsumerCode,
  HISTORICAL_AUTHORIZATION_FLAG = :HistoricalAuthorizationFlag,
  PAYMENT_RETURN_REASON_CODE = :PaymentReturnReasonCode,
  UPDATE_DATE = :UpdateDate,
  UPDATE_IP_ADDR = :UpdateIPAddr,
  UPDATE_USER = :UpdateUser
Where BANK_ACCOUNT.BANK_ACCOUNT_SEQ_NUM = :BankAccountID
```

## Operations and processes
- [Bank account management](../operations/bank-account-management.md)*

> **Note:** Statements marked with `*` were inferred from code structure, naming conventions, or contextual evidence where direct confirmation was not available in source artifacts. Statements marked with `**` could not be confirmed; treat as unknown until verified.

## Business rules
- [BR-EFT-05: Insert/update must affect exactly 1 row](../business-rules.md#br-eft-05-insertupdate-operations-require-exactly-one-affected-row)

## Sources
- `Business\SAIF.Business.Payment.EFT\clsBankAccount.vb`
