在存储过程中执行时选择查询不检索记录

Posted

技术标签:

【中文标题】在存储过程中执行时选择查询不检索记录【英文标题】:Select query not retrieving records when executed in stored procedure 【发布时间】:2014-06-10 11:00:23 【问题描述】:

我有一个疑问,谁能解释一下为什么我在选择查询中得到记录,但在从存储过程执行查询时却不能得到相同的记录

下面,选择查询检索记录

这里没有存储过程中相同查询的记录

【问题讨论】:

增加过程数据类型的大小 【参考方案1】:

您的 @name 类型的 varchar(25) 参数似乎太小,无法适应查询中的示例名称。它将被截断并且查询不会给出任何结果。

【讨论】:

【参考方案2】:

正如所指出的,名称不仅仅是 varchar(25),对于 mnthname 的其他值也可能如此。因此将函数定义更改为:

Alter proc FindsSring
(
@name varchar(max),
@STD varchar(10),
@Div varchar(2),
@month varchar(100)
)
As ...

【讨论】:

以上是关于在存储过程中执行时选择查询不检索记录的主要内容,如果未能解决你的问题,请参考以下文章

无法使用存储过程检索我想要选择的值

无法使用存储过程检索我想要选择的值

无法使用存储过程检索我想要选择的值

在循环中执行存储过程以获取记录集

数据集可以使用存储过程返回多少个表

如何在一个 SQL 查询中检索值并在存储过程中使用它?