我有一个包含简单 Select Count 查询的 SQL 函数,在 SQL 模式下运行查询时它给出了正确的结果,而在函数中使用相同的查询时结果却不同。两种情况都在这里;
1。 SQL 查询
SELECT COUNT(*) FROM responses WHERE batch='2K18' AND degree_program='BSC' ;
2。 SQL 函数
BEGIN
DECLARE ResponseCount INTEGER;
SET ResponseCount = (SELECT COUNT(*) FROM responses WHERE batch=BATCH AND degree_program=DEGREEPROGRAM);
RETURN (ResponseCount);
END
SQL查询的结果是正确的,而在SQL函数中使用时它只检查where子句的第二个参数。有什么可能的解决方案。