---
title: 执行存储过程表达式受限-OceanBase数据库使用指南
description: 了解OceanBase数据库在实际应用中关于执行存储过程表达式受限相关的常见问题和使用技巧，帮助您快速解决执行存储过程表达式受限的难题。
image: https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*OSPzQ6GUQF4AAAAAQHAAAAgAeiGDAQ/original
---
切换语言

- 中文站 - 简体中文
- International - English
- 日本站 - 日本語

划线反馈

# 执行存储过程表达式受限

更新时间：2026-05-29 08:46

适用版本： V2.1.x、V2.2.x、V3.1.x、V3.2.x 内容类型：Troubleshoot  

## 适用版本

OceanBase 数据库 V2.x、V3.x 版本。

## 问题描述

执行存储过程报错，将存储过程里的 SQL 单独拿出来执行正常不报错。

查看相关 trace 日志。

```shell
observer.log.20221110144109:[2022-11-10 14:39:21.092162] WARN [SQL.ENG] set_item_count (ob_infix_expression.cpp:170) [54840][0][YB42AC120020-0005E9F5B3C777E5-0-0] [lt=31] [dc=0] invalid item count(ret=-4002, count=75663, max_allowed_count=65535)

```

## 问题原因

存储过程参数超过系统默认，需要调整系统变量。

## 解决方法

调整以下系统变量来修改表达式数量。

```shell
alter system set _max_function_param_num=80000;

```

Previous

[Oracle 租户不支持 $$PLSQL_UNIT 变量导致的存储过程报错](https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000000297649)

Next

[Oracle 模式下调用存储过程报错 cursor read uncommited data across commit/rollback not supported](https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000000469441) ![有帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*y6ocSqN8cqsAAAAAAAAAAAAAARQnAQ)![无帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*BG9IQJyLHF8AAAAAAAAAAAAAARQnAQ)![反馈](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*eTWdQKCRKHwAAAAAAAAAAAAAARQnAQ)[AI](https://www.oceanbase.com/obi) 咨询热线
