展开本页目录
开始前准备什么
- 下载本题完整练习包,区分待实现 starter 与作者完成 reference。
- 按README准备本题原生依赖;所有输入均为原创或明确标注的本地fixture。
- 本地练习不需要付费模型Key;真实模型调用未执行,MiniLM题另有明确实际推理说明。
- 加载浏览器引擎
- 创建两张练习表
- 运行真实关联SQL
- 读取计算结果
- 注入失败事务
- 确认库存回滚
- 重置练习数据
原创输入、待完成starter、作者reference及实际运行产物,依README本地准备依赖。
环境要求、具体操作、产物核对与未运行范围。
1. 加载浏览器引擎
在浏览器加载PGlite WebAssembly,数据库使用memory://。它运行真实PostgreSQL,不把固定JSON表格当作SQL查询结果。
2. 创建两张练习表
初始化products和orders两张原创表:笔记本库存20、贴纸库存50,订单数量分别可聚合。源码和建表SQL随练习包提供。
本地启动与复现
cd reference
npm install
npm run build
python3 -m http.server 87873. 运行真实关联SQL
点击执行SQL,按产品关联订单并求SUM。你可以修改textarea中的SQL;返回值必须由引擎执行产生,而非根据按钮编号切换预设结果。
4. 读取计算结果
原生结果中笔记本订单合计5,贴纸为7。对照三条订单逐行计算,先核对业务结果再继续事务实验。
5. 注入失败事务
运行失败事务,先把笔记本库存设为0,再插入不存在的表。错误必须来自真实SQL引擎,并触发事务回滚。
6. 确认库存回滚
错误后重新SELECT products,笔记本库存仍为20。只有页面恢复原表格而数据库仍为0,不算完成回滚。
7. 重置练习数据
点击重置重建两张表,再执行查询与失败事务。下载包只分发源码和build步骤,WASM依赖由本地构建准备;v0账号与云端数据库未运行。
怎样确认已经完成
- PGlite PostgreSQL WASM在浏览器执行JOIN聚合和真实失败事务,回读库存仍为20;未接云数据库。
- 可以,PGlite以WASM在浏览器运行真实PostgreSQL。本题JOIN与事务结果来自引擎,不是预设JSON。
- 失败事务自动回滚;要完全重置可重建两张练习表。本题把库存设0后故意写错表,回读仍为20。
常见问题
网页里不装数据库,能不能真运行PostgreSQL练习?
可以,PGlite以WASM在浏览器运行真实PostgreSQL。本题JOIN与事务结果来自引擎,不是预设JSON。
SQL写错改坏表以后,怎么一键回到练习开始?
失败事务自动回滚;要完全重置可重建两张练习表。本题把库存设0后故意写错表,回读仍为20。
哪些部分实际运行,哪些需要独立验证?
PGlite PostgreSQL WASM在浏览器执行JOIN聚合和真实失败事务,回读库存仍为20;未接云数据库。 目标AI助手账号生成、云平台部署和生产环境不在本次执行范围。




