Skip to content
Agentmart
Submit a tool

db2-oracle

Enterprise database development for IBM DB2 and Oracle.

Skill by MathiasPaulenko

IndexedMIT★ 2
Write a review

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/mathiaspaulenko-db2-oracle

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Enterprise database development for IBM DB2 and Oracle. Covers PL/SQL, SQL/PL, partitioning, performance tuning, XML/JSON handling, and migration patterns.

Use cases: backend

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/db2-oracle

What's inside

Skill name
db2-oracle
Description
Enterprise database development for IBM DB2 and Oracle. Covers PL/SQL, SQL/PL, partitioning, performance tuning, XML/JSON handling, and migration patterns.
License
MIT
Instructions
251 lines in SKILL.md · view on GitHub

Files (1)

  • SKILL.md

SKILL.md (first lines)

# DB2 and Oracle

## 1. Oracle PL/SQL

### Basic Procedure

```sql
CREATE OR REPLACE PROCEDURE sp_create_order (
    p_user_id   IN  NUMBER,
    p_total     IN  NUMBER,
    p_order_id  OUT NUMBER
) AS
BEGIN
    INSERT INTO orders (user_id, total, status, created_at)
    VALUES (p_user_id, p_total, 'pending', SYSTIMESTAMP)
    RETURNING id INTO p_order_id;

    COMMIT;
EXCEPTION
    WHEN DUP_VAL_ON_INDEX THEN
        RAISE_APPLICATION_ERROR(-20001, 'Duplicate order detected');
    WHEN OTHERS THEN
        ROLLBACK;
        RAISE;
END;
/
```

### Cursor and Bulk Collect

```sql
DECLARE
    TYPE t_user_tab IS TABLE OF users%ROWTYPE;
    v_users t_user_tab;
BEGIN
    SELECT * BULK COLLECT INTO v_users
    FROM users
    WHERE is_active = 1;

    FORALL i IN 1..v_users.COUNT
        UPDATE users
        SET last_login = SYSTIMESTAMP
        WHERE id = v_users(i).id;

    COMMIT;
END;
/
```

## 2. DB2 SQL/PL

### Stored Procedure

```sql
CREATE PROCEDURE create_order (
    IN p_user_id INT,
    IN p_total DECIMAL(10,2),
    OUT p_order_id INT
)
BEGIN
    DECLARE v_status VARCHAR(20) DEFAULT 'pending';

    INSERT INTO orders (user_id, total, status, created_at)
    VALUES (p_user_id, p_total, v_status, CURRENT_TIMESTAMP);

    SET p_order_id = IDENTITY_VAL_LOCAL();
END
```

### MERGE (DB2)

```sql
MERGE INTO inventory AS target
USING (SELECT product_id, quantity FROM staging_inventory) AS source
ON target.product_id = source.product_id
WHEN MATCHED THEN
    UPDATE SET target.quantity = target.quantity + source.quantity
WHEN NOT MATCHED THEN
    INSERT (product_id, quantity) VALUES (source.product_id, source.quantity);
```

## 3. Oracle Partitioning

| Type | Use Case |
|------|----------|
| Range | Time-series data (by month/year) |
| List | Discrete categories (by region/status) |
| Hash | Even distribution for I/O balance |
| Composite | Range + Hash or Range + List |

```sql
CREATE TABLE sales (
    sale_id NUMBER,
    sale_date DATE,
    amount NUMBER(10,2)
) PARTITION BY RANGE (sale_date) (
    PARTITION p2023q1 VALUES LESS THAN (TO_DATE('2023-04-01','YYYY-MM-DD')),
    PARTITION p2023q2 VALUES LESS THAN (TO_DATE('2023-07-01','YYYY-MM-DD')),
    PARTITION p2023q3 VALUES LESS THAN (TO_DATE('2023-10-01','YYYY-MM-DD')),
    PARTITION p2023q4 VALUES LESS THAN (TO_DATE('2024-01-01','YYYY-MM-DD')),
    PARTITION pmax VALUES LESS THAN (MAXVALUE)
);
```

## 4. DB2 Partitioning (Table Partitioning + MDC)

```sql
CREATE TABLE sales (
    sale_id INT,
    sale_date DATE,
    amount DECIMAL(10,2)
) PARTITION BY RANGE (sale_date) (
    STARTING FROM '2023-01-01' ENDING AT '2024-01-01' EVERY 3 MONTHS
)
ORGANIZE BY DIMENSIONS (EXTRACT(YEAR FROM sale_date), EXTRACT(MONTH FROM sale_date));
```

## 5. Performance Tuning

From MathiasPaulenko/ai-toolkit, MIT.

More from MathiasPaulenko/ai-toolkit

Signals

Stars
2
Forks
0
Open issues
0
Last commit (this folder)
Jul 23, 2026 (3 months ago)

From GitHub (fetched Oct 24, 2026).

Details

License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from MathiasPaulenko

Cite this page

db2-oracle skill. Agent Mart. https://agentmart.dev/skills/mathiaspaulenko-db2-oracle (last updated 2026-10-24)