我有存储过程,我正在执行查询。当我执行查询时,它返回多行而不是一行。但是当我在没有存储过程的情况下执行相同的查询时,它返回单行。由于我是MySQL的新手,因此我面临着在存储过程中声明变量并使用它们的问题。
我正在用C#代码调用存储过程。
Stored procedure code(returns multiple values):
CREATE PROCEDURE `USP_UPDATE_BLACKLIST_RECORD_DETAIL`(
FILE_NAME varchar(100)
)
BEGIN
SET @FILE_NAME=null; SET @FILE_NAME = FILE_NAME;
SET @UPDATE_CODE = null; SET @ACTUAL_RECORD_COUNT = null;
/*Get the update code of the extracted file*/
SET @UPDATE_CODE = (SELECT count(UPDATE_CODE) FROM TX_BLACKLIST_FILE_DETAIL WHERE FILE_NAME = @FILE_NAME );
select @UPDATE_CODE;
END
Query without stored procedure(returns single value):
set @FILE_NAME=null;
set @FILE_NAME='TPCCH_ULEPL_20141112_164635.BLT';
set @UPDATE_CODE=null;
set @ACTUAL_RECORD_COUNT=null;
/*Get the update code of the extracted file*/
SET @UPDATE_CODE = (SELECT count(UPDATE_CODE) FROM TX_BLACKLIST_FILE_DETAIL WHERE FILE_NAME = @FILE_NAME );
select @UPDATE_CODE;
end