MySQL存储过程从秒查询返回变量值?

时间:2014-11-03 09:30:34

标签: mysql stored-procedures

SET @v1 = '';
SET @v2 = '';

SET @Query = CONCAT('SELECT sum(colName1), sum(colName2) INTO @v1, @v2 FROM tableName WHERE id=1 ');
PREPARE stmt FROM @Query;

EXECUTE stmt;
DEALLOCATE PREPARE stmt;

SET @Query = CONCAT('SELECT id, name, ? as value1, ? as value2 FROM tableName WHERE id=1 ');
PREPARE stmt FROM @Query;

EXECUTE stmt USING @v1, @v2;
DEALLOCATE PREPARE stmt;

在ASP.Net中读取值时,字节数组中的值。

错误 例外:无法转换类型为#System.Syte []'的对象键入' System.IConvertible'。

如何获取@ v1和@ v2的值。

请帮帮我。

1 个答案:

答案 0 :(得分:0)

@ v2的值从第一个查询得到NULL,为什么第二个查询存储过程查询不返回任何东西。 所以通过

检查值IS NULL
IF @v2 IS NULL THEN
    SET @v2 = 0;
END IF;

然后存储过程返回结果集