Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 将列值与存储过程的结果进行比较_Sql_Sql Server 2008_Stored Procedures - Fatal编程技术网

Sql 将列值与存储过程的结果进行比较

Sql 将列值与存储过程的结果进行比较,sql,sql-server-2008,stored-procedures,Sql,Sql Server 2008,Stored Procedures,如果属性boleta.c_Fk_CodPeriodo等于SPdbo.pabltPeriodoBusaRunico3@fecha的返回值,我需要在where中进行比较。SP返回值,如“1011”、“0711”等 SELECT localizacion.c_Fk_IdBoleta FROM Blt_Boleta as boleta, Fnc_Localizacion as localizacion WHERE boleta.c_Pk_IdBoleta = localizaci

如果属性
boleta.c_Fk_CodPeriodo
等于SP
dbo.pabltPeriodoBusaRunico3@fecha
的返回值,我需要在where中进行比较。SP返回值,如“1011”、“0711”等

SELECT 
   localizacion.c_Fk_IdBoleta
FROM 
   Blt_Boleta as boleta, Fnc_Localizacion as localizacion
WHERE 
   boleta.c_Pk_IdBoleta = localizacion.c_Fk_IdBoleta 
   AND localizacion.si_CodAsa = @id_Asa 
   AND  boleta.c_Fk_CodPeriodo = exec  dbo.paBltPeriodoBuscarUnico3 @fecha
exec中的问题是,exec中的语法错误。。。所以


如何执行此操作???

您需要首先调用存储过程并将结果分配给变量,然后在查询中使用该变量


您不能这样使用存储过程。

存储过程返回值为
0711
是什么意思?返回值只能是整数,不能是字符串。您的意思是它返回一个带有字符串的标量结果集吗?该值是通过resultset还是通过
RETURN
语句从存储过程返回的?
DECLARE @output AS varchar(4);
exec @output = dbo.paBltPeriodoBuscarUnico3 @fecha;

 SELECT 
                         localizacion.c_Fk_IdBoleta
                    FROM 
                         Blt_Boleta as boleta, Fnc_Localizacion as localizacion
                    WHERE 
                         boleta.c_Pk_IdBoleta = localizacion.c_Fk_IdBoleta 
                         AND localizacion.si_CodAsa = @id_Asa 
                         AND  boleta.c_Fk_CodPeriodo = @output