CREATE PROCEDURE [dbo].[GetProductByCategoryID]
(
@categoryID int,
@count int output 

AS
BEGIN
    SELECT *,COUNT(*)
    FROM  Product 
    WHERE -----
这样有错误:向变量赋值的 SELECT 语句不能与数据检索操作结合使用。我想实现返回查询结果的同时返回结果记录的数量。
当然,可以分开返回结果和数量,但是那样两次查询数据库。有没有只查询一次数据库,就可以实现的方法???

解决方案 »

  1.   

    SELECT *
        FROM  Product
        WHERE ----- 
    set @count=@@rowcount
      

  2.   


    --这样是错误的,不允许
    SELECT *,@count=COUNT(*)
        FROM  Product
        WHERE ----- 
      

  3.   

    select * ,(select count(*) from tb )from tb
      

  4.   

    SELECT *,(select COUNT(*) from FROM Product WHERE -----)
    FROM Product
    WHERE ----- 
      

  5.   

    谢谢 pl_mm !!3楼,4楼的方法也可以,我前面说了,这样会两次查询,不符合要求。再次感谢大家!