codex 助力oracle ebs 开发

建议你单独建一个"EBS DevOps / AI 辅助开发项目仓库" ,不要直接把它当普通代码仓库用,而是把它设计成:需求分析、代码开发、SQL 排查、Bug 修复、测试脚本、上线包、知识沉淀的一体化工作区。

Codex 官方支持通过仓库内的 AGENTS.md 给项目级指令,告诉 Codex 如何理解代码库、遵守规范、运行测试、生成补丁等;CLI 也支持本地读取、修改、运行代码,并可通过沙箱和审批策略控制安全边界。(OpenAI开发者)


一、推荐项目定位

项目名称可以叫:

text 复制代码
oracle-ebs-1213-ai-dev

这个项目不只是放源码,而是放:

text 复制代码
1. EBS 12.1.3 客户化源码
2. 标准表/API/并发程序知识库
3. 需求说明模板
4. Bug 分析模板
5. 测试 SQL
6. 上线脚本
7. 回滚脚本
8. Codex 项目指令
9. 常用问题处理 SOP

你以后可以直接在 Codex 里提问:

text 复制代码
根据 docs/requirements/FA批量关闭资产期间.md,
修改 src/plsql/CUX_FA_CLOSE_PERIOD_PKG.pkb,
生成上线脚本、回滚脚本、测试 SQL 和并发程序注册脚本。

这样 Codex 的上下文会非常稳定,不用每次重新解释你的 EBS 环境。


二、推荐目录结构

建议这样建:

text 复制代码
oracle-ebs-1213-ai-dev/
│
├── AGENTS.md
├── README.md
├── project_context.md
│
├── docs/
│   ├── ebs_env/
│   │   ├── environment.md
│   │   ├── modules.md
│   │   ├── naming_convention.md
│   │   ├── responsibility_security.md
│   │   ├── concurrent_program_standard.md
│   │   └── deployment_standard.md
│   │
│   ├── oracle_standard/
│   │   ├── fa_tables.md
│   │   ├── ap_tables.md
│   │   ├── ar_tables.md
│   │   ├── gl_tables.md
│   │   ├── xla_tables.md
│   │   ├── moac_security.md
│   │   └── fnd_api_patterns.md
│   │
│   ├── requirements/
│   │   ├── FA批量关闭资产期间.md
│   │   ├── FA同步折旧年限.md
│   │   ├── AP重复付款批量处理.md
│   │   └── GL日记账导入排队机制.md
│   │
│   ├── bugfix/
│   │   ├── AP发票核销异常分析.md
│   │   ├── GL凭证号重复问题.md
│   │   └── AR贷项通知单无法删除.md
│   │
│   └── sop/
│       ├── 开发流程.md
│       ├── Bug排查流程.md
│       ├── 上线检查清单.md
│       └── 回滚检查清单.md
│
├── src/
│   ├── plsql/
│   │   ├── packages/
│   │   ├── procedures/
│   │   ├── functions/
│   │   ├── triggers/
│   │   └── views/
│   │
│   ├── apex/
│   │   ├── rest/
│   │   └── pages/
│   │
│   ├── xmlp/
│   │   ├── data_templates/
│   │   └── rtf_templates/
│   │
│   └── oaf/
│
├── scripts/
│   ├── deploy/
│   ├── rollback/
│   ├── register_concurrent/
│   ├── test_sql/
│   ├── debug_sql/
│   └── data_fix/
│
├── test/
│   ├── unit_sql/
│   ├── integration_sql/
│   ├── performance_sql/
│   └── test_cases/
│
├── logs/
│   ├── sample_request_logs/
│   ├── error_stack/
│   └── explain_plan/
│
├── references/
│   ├── uploaded_packages/
│   ├── table_exports/
│   ├── excel_samples/
│   └── json_samples/
│
└── prompts/
    ├── requirement_to_code.md
    ├── bug_analysis.md
    ├── code_review.md
    ├── sql_optimization.md
    ├── data_fix_plan.md
    └── release_package.md

三、最重要的是 AGENTS.md

Codex 在项目里最好先执行一次 /init 生成初始 AGENTS.md,然后你改成适合 EBS 的规则。OpenAI 官方说明,AGENTS.md 可以作为仓库级指令,告诉 Codex 项目规范、测试命令、代码风格和注意事项。(OpenAI开发者)

你可以直接用下面这个版本。

AGENTS.md 建议内容

markdown 复制代码
# Oracle EBS 12.1.3 AI Development Guide

## Project Context

This repository is used for Oracle E-Business Suite 12.1.3 custom development, bug fixing, SQL diagnostics, PL/SQL package enhancement, concurrent program development, APEX REST integration, and data repair scripts.

Main environment:

- Oracle EBS: 12.1.3
- Database: Oracle 11gR2
- Main schema: APPS
- Custom object prefix: CUX
- Common modules: AP, AR, GL, FA, SLA/XLA, FND, MOAC
- Common development language: PL/SQL, SQL, XML Publisher, APEX REST

## Core Rules

1. Do not assume EBS standard APIs are safe to call directly.
2. Before using a standard API, identify required initialization:
   - FND_GLOBAL.APPS_INITIALIZE
   - MO_GLOBAL.INIT
   - MO_GLOBAL.SET_POLICY_CONTEXT
   - FND_REQUEST.SUBMIT_REQUEST when needed
3. For concurrent programs, always provide:
   - Package specification
   - Package body
   - Executable registration script
   - Concurrent program registration script
   - Parameter registration script
   - Request group attachment script when applicable
4. For data fixes, never directly update base tables unless explicitly requested.
5. Prefer supported public APIs, standard concurrent requests, or interface tables.
6. Always include backup SQL before data repair.
7. Always include rollback SQL where possible.
8. Always include verification SQL.
9. All generated PL/SQL must compile on Oracle 11gR2.
10. Do not use syntax only available in Oracle 12c or later.
11. Avoid JSON_OBJECT, LISTAGG overflow features, FETCH FIRST, identity columns, and modern syntax unsupported by 11g.
12. Use explicit exception handling.
13. Log important steps with FND_FILE.PUT_LINE for concurrent programs.
14. Use FND_CONCURRENT.SET_COMPLETION_STATUS for warning/error completion status.
15. Do not commit inside reusable APIs unless the procedure is explicitly designed as a concurrent program or data-fix script.
16. For batch programs, support restartability and idempotency where possible.
17. For large-volume processing, use BULK COLLECT / FORALL carefully, with LIMIT.
18. Always consider MOAC, ledger access, responsibility security, and book security.
19. Never expose passwords, tokens, production connection strings, or sensitive customer data.
20. If source code is incomplete, state assumptions clearly and isolate the required changes.

## Naming Convention

- Custom package: CUX_<MODULE>_<BUSINESS_NAME>_PKG
- Custom table: CUX_<MODULE>_<BUSINESS_NAME>_ALL or CUX_<MODULE>_<BUSINESS_NAME>_T
- Custom temp table: CUX_<MODULE>_<BUSINESS_NAME>_TMP
- Custom sequence: CUX_<MODULE>_<BUSINESS_NAME>_S
- Custom concurrent short name: CUX_<MODULE>_<SHORT_NAME>
- Custom lookup: CUX_<MODULE>_<LOOKUP_NAME>

## Required Output Format for Development Tasks

When implementing a requirement, produce:

1. Requirement understanding
2. Design summary
3. Object list
4. Main processing flow
5. PL/SQL code
6. Concurrent program registration script
7. Test SQL
8. Exception scenarios
9. Deployment order
10. Rollback plan
11. Risk notes

## Required Output Format for Bug Fix Tasks

When analyzing a bug, produce:

1. Symptom summary
2. Suspected root causes
3. Evidence SQL
4. Data flow analysis
5. Standard EBS behavior involved
6. Fix options
7. Recommended fix
8. Regression test cases
9. Production risk
10. Rollback plan

## Code Style

- Use uppercase SQL keywords.
- Use meaningful variable names.
- Prefix local variables with `l_`.
- Prefix parameters with `p_`.
- Prefix cursors with `c_`.
- Prefix record variables with `r_`.
- Prefix collections with `t_`.
- Avoid hard-coded organization_id, ledger_id, book_type_code unless passed as parameters or derived from security context.
- Use FND_PROFILE.VALUE where appropriate.
- Use FND_API.G_RET_STS_SUCCESS / ERROR patterns when calling standard APIs that follow FND API convention.

## Testing Expectations

For every change, provide:

- Compile check SQL
- Functional test SQL
- Negative test case
- Data volume test suggestion
- Verification SQL before and after execution

## Safety

Production-impacting SQL must be marked clearly:

- SAFE_QUERY
- DEPLOY_SCRIPT
- DATA_FIX_HIGH_RISK
- ROLLBACK_SCRIPT

Never generate production data update scripts without backup and verification queries.

四、再加一个 project_context.md

这个文件专门放你公司的 EBS 背景,Codex 每次读项目时就不会乱猜。

markdown 复制代码
# Project Context - Oracle EBS 12.1.3

## Environment

- Oracle EBS version: 12.1.3
- Database: Oracle 11gR2
- Main schema: APPS
- Custom prefix: CUX
- Development language: PL/SQL, SQL, XML Publisher, APEX REST
- Common execution model: Concurrent Program

## Important Constraints

- Oracle 11g syntax only.
- Most programs run through EBS concurrent manager.
- All user-facing messages should be written to FND_FILE.
- Responsibility security must be considered.
- MOAC and ledger/book access must be considered.
- Avoid direct base table updates unless approved as data fix.
- Prefer standard APIs, interface tables, or standard concurrent requests.

## Main Modules

### FA

Common concerns:

- Asset book security
- Depreciation period close
- Depreciation run
- Asset category filtering
- Tax book / corporate book relationship
- FA_DEPRN_PERIODS
- FA_BOOK_CONTROLS
- FA_BOOKS
- FA_ADDITIONS_B
- FA_CATEGORIES_B
- FA_DISTRIBUTION_HISTORY

### AP

Common concerns:

- Invoice status
- Payment status
- Duplicate payment
- SLA transfer
- GL transfer
- Void payment
- AP_INVOICES_ALL
- AP_CHECKS_ALL
- AP_INVOICE_PAYMENTS_ALL
- XLA_AE_HEADERS
- GL_IMPORT_REFERENCES

### AR

Common concerns:

- Receipt application
- Credit memo deletion
- Transaction import
- RA_CUSTOMER_TRX_ALL
- AR_RECEIVABLE_APPLICATIONS_ALL
- AR_CASH_RECEIPTS_ALL

### GL

Common concerns:

- Journal import
- Voucher number duplication
- Ledger access set
- Data access set
- GL_INTERFACE
- GL_JE_HEADERS
- GL_JE_LINES
- GL_ACCESS_SETS
- GL_ACCESS_SET_NORM_ASSIGN

## Preferred Delivery

Every development task should generate:

1. Source code
2. Register script
3. Test script
4. Deployment script
5. Rollback script
6. Operation guide

五、把项目分成 5 类任务管理

你这个 EBS 项目建议分为 5 类,不要混在一起。

1. 需求开发类

例如:

text 复制代码
FA 批量关闭资产期间
FA 同步折旧年限
AP 自动零额付款
税务汇率统计工具
WorkBuddy 与 EBS 交互

建议每个需求建一个 Markdown:

text 复制代码
docs/requirements/FA批量关闭资产期间.md

模板:

markdown 复制代码
# 需求名称

## 1. 背景

## 2. 业务目标

## 3. 当前问题

## 4. 适用模块

## 5. 输入参数

## 6. 数据范围

## 7. 权限规则

## 8. 处理逻辑

## 9. 异常处理

## 10. 日志要求

## 11. 并发程序要求

## 12. 测试场景

## 13. 上线要求

## 14. 回滚要求

2. Bug 修改类

例如:

text 复制代码
AP 发票核销报错
GL 凭证号重复
AR 贷项通知单无法删除
FA 关闭期间异常

模板:

markdown 复制代码
# Bug 名称

## 1. 问题现象

## 2. 用户反馈

## 3. 报错信息

## 4. 涉及请求 / 页面 / 程序包

## 5. 已知 SQL 查询结果

## 6. 初步判断

## 7. 需要 Codex 分析的问题

## 8. 希望输出

- 根因分析
- 定位 SQL
- 修复方案
- 最小改动方案
- 测试 SQL
- 回归测试用例

3. 数据修复类

这个要特别谨慎,建议单独目录:

text 复制代码
scripts/data_fix/

每个数据修复必须包含:

text 复制代码
001_backup.sql
002_check_before.sql
003_fix.sql
004_check_after.sql
005_rollback.sql
README.md

Codex 生成数据修复时,你要强制它遵守:

text 复制代码
不允许直接给 UPDATE/DELETE,必须先给备份表 SQL、影响行数 SQL、验证 SQL、回滚 SQL。

4. SQL 优化类

目录:

text 复制代码
docs/bugfix/sql_optimization/
scripts/debug_sql/
logs/explain_plan/

你可以把慢 SQL、执行计划、绑定变量、数据量贴进去,然后让 Codex 优化。

常用提示词:

text 复制代码
请基于 Oracle 11gR2 优化这个 SQL。
要求:
1. 不改变业务结果;
2. 优先减少代码改动;
3. 分析执行计划瓶颈;
4. 给出索引建议;
5. 给出改写版本;
6. 说明风险;
7. 不使用 12c 以上语法。

5. 上线交付类

目录:

text 复制代码
scripts/deploy/
scripts/rollback/
docs/sop/上线检查清单.md

上线包建议固定结构:

text 复制代码
release/R20260616_FA_CLOSE_PERIOD/
│
├── 00_readme.md
├── 01_create_objects.sql
├── 02_package_spec.sql
├── 03_package_body.sql
├── 04_register_concurrent.sql
├── 05_add_request_group.sql
├── 06_grants_synonyms.sql
├── 07_compile_check.sql
├── 08_test.sql
├── 09_rollback.sql
└── 10_operation_guide.md

六、Codex 项目里的常用提示词

建议你放到:

text 复制代码
prompts/

1. 需求转代码提示词

markdown 复制代码
你是 Oracle EBS 12.1.3 资深技术顾问。

请根据 docs/requirements/xxx.md 完成开发设计和代码生成。

要求:

1. 只使用 Oracle 11gR2 支持的 SQL/PLSQL 语法。
2. 按 EBS 并发程序标准开发。
3. 输出 package spec、package body。
4. 包含 errbuf、retcode 参数。
5. 使用 FND_FILE 输出日志。
6. 使用 FND_CONCURRENT.SET_COMPLETION_STATUS 设置请求状态。
7. 考虑职责权限、MOAC、账簿权限、资产账簿权限。
8. 不允许直接更新 EBS 标准基表,除非需求明确要求数据修复。
9. 给出并发程序注册脚本。
10. 给出测试 SQL。
11. 给出部署顺序。
12. 给出回滚方案。
13. 标注关键风险。

2. Bug 分析提示词

markdown 复制代码
请分析 docs/bugfix/xxx.md 中的问题。

输出格式:

1. 问题复述
2. 可能原因列表
3. 最可能根因
4. 需要验证的 SQL
5. 涉及 EBS 标准表/API/流程
6. 最小改动修复方案
7. 完整修复方案
8. 测试用例
9. 上线风险
10. 回滚方案

要求:

- 不要直接假设数据一定正确。
- 先用 SQL 验证。
- 优先给出最小改动方案。
- Oracle 版本按 11gR2。
- EBS 版本按 12.1.3。

3. 代码审查提示词

markdown 复制代码
请审查 src/plsql/packages/xxx.pkb。

重点检查:

1. 是否存在并发请求重复提交风险;
2. 是否存在 COMMIT 位置不合理;
3. 是否有未处理异常;
4. 是否有直接更新标准表风险;
5. 是否缺少 MOAC 初始化;
6. 是否缺少 FND_GLOBAL 初始化;
7. 是否存在性能问题;
8. 是否存在游标循环逐行处理大数据问题;
9. 是否存在权限绕过;
10. 是否存在 Oracle 12c 以上语法;
11. 是否缺少日志;
12. 是否缺少回滚能力。

输出:

- 问题清单
- 严重等级
- 修改建议
- 可直接替换的代码片段

4. 数据修复提示词

markdown 复制代码
请根据 docs/bugfix/xxx.md 生成 Oracle EBS 数据修复方案。

要求:

1. 先给影响范围查询 SQL;
2. 再给备份 SQL;
3. 再给修复 SQL;
4. 再给修复后验证 SQL;
5. 最后给回滚 SQL;
6. 所有 UPDATE/DELETE 必须带明确 WHERE 条件;
7. 不允许使用 TRUNCATE;
8. 不允许无备份直接修改;
9. 标注是否需要停业务;
10. 标注是否需要关闭并发管理器;
11. 标注是否涉及 SLA/GL 已过账数据;
12. 标注是否需要 Oracle SR 或业务签字。

七、建议把你的历史问题沉淀成知识库

你已经问过很多 EBS 问题,建议沉淀成这些文件:

text 复制代码
docs/sop/AP重复付款处理SOP.md
docs/sop/GL凭证号重复处理SOP.md
docs/sop/FA期间关闭处理SOP.md
docs/sop/AR贷项通知单删除问题SOP.md
docs/sop/MOAC权限问题排查SOP.md
docs/sop/并发请求不兼容设置SOP.md
docs/sop/数据访问权限集排查SOP.md

例如 FA期间关闭处理SOP.md 可以写:

markdown 复制代码
# FA 期间关闭处理 SOP

## 常见问题

1. 是否需要先跑折旧
2. 是否可以直接更新 FA_DEPRN_PERIODS
3. 是否可以调用 API
4. 是否应该提交标准请求集
5. 多资产账簿如何批量关闭
6. 如何限制当前职责可见账簿
7. 关闭失败如何回滚

## 推荐原则

- 优先走标准并发请求或标准 API。
- 不直接更新 FA 标准期间表。
- 批量关闭时封装客户化并发程序。
- 每个账簿独立提交/监控/记录结果。

这样以后 Codex 回答会越来越贴近你的真实环境。


八、强烈建议配置"只读资料区"和"可修改源码区"

避免 Codex 改坏你上传的原始资料。

text 复制代码
references/        # 只读参考资料,不让 Codex 改
src/               # 可以修改的源码
scripts/           # 可以生成脚本
docs/requirements/ # 需求文档
docs/bugfix/       # 问题分析

你在 AGENTS.md 里可以写:

markdown 复制代码
Do not modify files under references/ unless explicitly instructed.
Generated code should be placed under src/ or scripts/.

九、Codex 权限建议

你之前希望 Codex "最高权限不用反复批准"。我的建议是分场景:

日常分析 / 代码生成

可以给较高权限:

bash 复制代码
codex --sandbox workspace-write

涉及脚本执行、批量替换、连接数据库

不要直接无脑全开放。EBS 项目有生产风险,建议:

bash 复制代码
codex --sandbox workspace-write --approval-mode on-request

官方也强调 Codex 可通过沙箱和审批机制控制它什么时候需要暂停并请求确认,适合在本地开发时降低误操作风险。(OpenAI开发者)

不建议

bash 复制代码
codex --dangerously-bypass-approvals-and-sandbox

除非你在一个完全隔离的测试目录里,只处理脱敏文件。


十、是否要接数据库?

建议分三层,不要一步到位直接连生产库。

第一阶段:不接库

只让 Codex 基于:

text 复制代码
源码
SQL
表结构导出
报错日志
Excel/JSON 样例
执行计划

做分析和代码生成。

这是最安全的。


第二阶段:接测试库只读账号

给 Codex 一个只读工具或 MCP 服务,只允许:

sql 复制代码
SELECT
EXPLAIN PLAN
DESC

禁止:

sql 复制代码
INSERT
UPDATE
DELETE
MERGE
TRUNCATE
DROP
ALTER
EXEC 标准 API

第三阶段:测试库可执行,但必须人工审批

只允许在测试环境执行:

text 复制代码
编译 package
运行测试 SQL
提交测试并发请求

生产环境仍然建议人工上线。


十一、EBS 项目最好额外建一个"表结构知识库"

你可以导出常用表结构,放到:

text 复制代码
docs/oracle_standard/

例如:

text 复制代码
ap_invoices_all.md
ap_checks_all.md
xla_ae_headers.md
gl_je_headers.md
fa_books.md
fa_deprn_periods.md
fa_book_controls.md
fnd_concurrent_requests.md
fnd_user.md
fnd_responsibility.md
gl_access_sets.md
gl_access_set_norm_assign.md

每个文件写:

markdown 复制代码
# AP_INVOICES_ALL

## 用途

## 关键字段

## 常见关联

## 常见状态

## 注意事项

## 常用 SQL

这样 Codex 不容易胡乱编字段。


十二、推荐工作流

你以后每个需求按这个流程走:

text 复制代码
1. 新建需求文档
2. 把业务背景、参数、现象、样例数据写进去
3. 让 Codex 先生成设计方案,不直接写代码
4. 你确认方向
5. 让 Codex 生成代码
6. 让 Codex 自审代码
7. 让 Codex 生成测试 SQL
8. 让 Codex 生成上线包
9. 你在测试环境执行
10. 把报错日志贴回 Codex 修复
11. 最终沉淀 SOP

不要一上来就说:

text 复制代码
帮我写个包。

更好的方式是:

text 复制代码
先阅读 docs/requirements/FA批量关闭资产期间.md 和 docs/ebs_env/environment.md。
先不要写代码。
请输出设计方案、涉及标准表/API、风险点、测试场景。

确认后再让它开发。


十三、我建议你优先沉淀的 10 个文件

结合你最近的 EBS 问题,优先建这些:

text 复制代码
AGENTS.md
project_context.md
docs/ebs_env/environment.md
docs/ebs_env/naming_convention.md
docs/ebs_env/concurrent_program_standard.md
docs/ebs_env/responsibility_security.md
docs/sop/FA期间关闭处理SOP.md
docs/sop/AP重复付款处理SOP.md
docs/sop/GL日记账导入冲突处理SOP.md
prompts/requirement_to_code.md

这 10 个文件建好后,Codex 的产出质量会明显提高。


十四、最推荐的落地方式

你可以在 WSL2 里这样建:

bash 复制代码
mkdir -p ~/code/oracle-ebs-1213-ai-dev
cd ~/code/oracle-ebs-1213-ai-dev

mkdir -p docs/ebs_env \
         docs/oracle_standard \
         docs/requirements \
         docs/bugfix \
         docs/sop \
         src/plsql/packages \
         src/plsql/procedures \
         src/plsql/functions \
         src/plsql/triggers \
         src/plsql/views \
         src/apex/rest \
         src/xmlp/data_templates \
         src/xmlp/rtf_templates \
         scripts/deploy \
         scripts/rollback \
         scripts/register_concurrent \
         scripts/test_sql \
         scripts/debug_sql \
         scripts/data_fix \
         test/unit_sql \
         test/integration_sql \
         test/performance_sql \
         test/test_cases \
         logs/sample_request_logs \
         logs/error_stack \
         logs/explain_plan \
         references/uploaded_packages \
         references/table_exports \
         references/excel_samples \
         references/json_samples \
         prompts

然后:

bash 复制代码
codex
/init

再把我上面给你的 AGENTS.md 内容替换进去。


十五、最终建议

你的 Codex EBS 项目不要做成"代码仓库",而要做成:

text 复制代码
EBS 客户化开发知识库 + AI 编码工作台 + 测试交付流水线

核心价值是:

text 复制代码
需求能标准化;
Bug 能结构化分析;
代码能复用;
测试能沉淀;
上线能检查;
历史问题能变成 SOP;
Codex 不再每次从零开始猜 EBS 背景。

按你的场景,最重要的不是让 Codex "更聪明",而是让它始终在正确的 EBS 12.1.3 约束里工作:Oracle 11g 语法、EBS 并发程序规范、FND/MOAC 初始化、职责权限、账簿权限、标准 API 优先、数据修复强审计。

相关推荐
秉承初心2 小时前
PostgreSQL 数据性能瓶颈突破实战
数据库·postgresql·oracle
Database_Cool_2 小时前
即席查询(Ad-Hoc)数据库选型:AnalyticDB MySQL 秒级 Ad-Hoc 分析方案
数据库·mysql
Nontee3 小时前
新手数据库进阶:一条UPDATE语句的“奇妙漂流”
数据库
赵渝强老师3 小时前
【赵渝强老师】openGauss的数据库
数据库·opengauss·国产数据库·高斯数据库
HackTwoHub3 小时前
Sqli-Scanner SQL注入SKILL自动化挖掘SQL注入,零依赖自动化SQL注入挖掘,赏金猎人
数据库·人工智能·sql·web安全·网络安全·自动化·系统安全
l1t4 小时前
DuckDB对group by cube / rollup / groupping sets查询的优化
数据库·duckdb
Database_Cool_4 小时前
什么是湖仓一体?和数据仓库的本质区别(附 AnalyticDB MySQL 湖仓一体方案)
数据库·数据仓库·mysql
l1t5 小时前
DeepSeek总结的MariaDB 的 DuckDB 存储引擎
数据库·mariadb