MS Access的.accdb/.mdb数据库是否支持存储过程?
MS Access 存储过程支持相关问题解答
核心结论
- 本地存储的
.accdb/.mdb格式Access数据库仅支持极有限的类存储过程功能,和SQL Server等数据库的标准存储过程有本质区别。这类“存储过程”本质是ACE/Jet数据库引擎支持的预处理参数查询,只能容纳单条SQL语句,不支持流程控制、多语句执行、事务处理等标准存储过程的特性。 - 仅当Access作为前端工具,对接SQL Server、MSDE、MySQL等支持存储过程的外部数据库作为后端时,才能使用完整的标准存储过程能力。
CREATE PROCEDURE 语句报错原因
你在本地.accdb文件中运行该语句触发语法报错,是因为CREATE PROCEDURE属于ANSI-92 SQL标准语法,默认情况下Access的查询编辑器使用ANSI-89语法模式,不识别该语句。你需要先将Access的查询语法模式切换为ANSI-92模式,或者通过ADO代码连接数据库后执行该语句,才能成功创建这类预处理查询。
另外需要注意,通过该语句创建的所谓“存储过程”,功能和你手动在Access中创建的带参数的保存查询完全一致,没有额外的扩展能力。
内容的提问来源于stack exchange,提问作者stymie2
相关产品推荐
相关产品推荐

