---
title: "SQL-088: clsBankAccount soft-delete"
summary: Soft-deletes a bank account by setting BANK_ACCOUNT_STATUS_CODE to the deleted value and updating audit columns. Does not physically remove the row.
status: draft
owner: SAIF
last_reviewed: 2026-07-24
library: SAIF.Business.Payment.EFT
reference_type: package
---

# SQL-088: clsBankAccount soft-delete

Soft-deletes a bank account by setting BANK_ACCOUNT_STATUS_CODE to the deleted value and updating audit columns. Does not physically remove the row.

## Classification

| Field | Value |
| --- | --- |
| **SQL ID** | SQL-088 |
| **Operation type** | Delete (logical) |
| **Execution method** | Inline SQL (UPDATE statement)* |
| **Database** | Oracle* |
| **Schema** | [unqualified]** |
| **Command type** | Text |
| **Business object** | `clsBankAccount` |
| **Criteria property** | `DeleteSQL` |
| **Lifecycle method** | `BeforeDelete / AfterDelete` |


## Parameters

| Parameter | Direction | Type | Max length | Description |
| --- | --- | --- | --- | --- |
| :BankAccountID | Input | Decimal | — | Binds `BankAccountID` |
| :BankAccountStatusCode | Input | String | 5 | Binds `clsBankAccountStatusCode.DELETED`* |
| :UpdateDate | Input | Date | — | Binds `m_UpdateDate`* |
| :UpdateIPAddr | Input | String | 30 | Binds `m_UpdateIPAddr`* |
| :UpdateUser | Input | String | 30 | Binds `m_UpdateUser`* |

## Tables

| Table | Access | Columns used |
| --- | --- | --- |
| [BANK_ACCOUNT](../database-tables.md#bank_account) | Write | BANK_ACCOUNT_STATUS_CODE, UPDATE_DATE, UPDATE_IP_ADDR, UPDATE_USER, BANK_ACCOUNT_SEQ_NUM |

## Sample SQL

```sql
Update BANK_ACCOUNT
Set BANK_ACCOUNT_STATUS_CODE = :BankAccountStatusCode,
  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-04: Bank account soft-delete preserves record integrity](../business-rules.md#br-eft-04-bank-account-soft-delete-preserves-record-integrity)
- [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`
