繁体   English   中英

使用计数作为存储过程中的参数?

[英]Using the count as a parameter in stored procedure?

我正在尝试创建一个存储过程,该存储过程将基于某个数字搜索重复的行(即,如果我想看到2个相同行的实例,请使用“具有count(*)> 2)

 select invoice.first_name, invoice.last_name, invoice.date_ordered,
 sum(total_cost) AS Total_Spent
 from invoice
 group by invoice.last_name
 having count(*)>2;

我要创建的是该人员在调用过程时可以指定计数的选项,这样他们就不必进入过程,编辑查询,保存等。

有没有办法将其转换为参数?

尝试这样:

set nocount on;
create proc dbo.test
   @nas int
as 
begin
select invoice.first_name, invoice.last_name, invoice.date_ordered,
 sum(total_cost) AS Total_Spent
 from invoice
 group by invoice.last_name
 having count(*)>@nas;
end

exec dbo.test @nas=2

首先,您的意思是:

该人指定计数的选项

如果您要指定返回的相同记录的数量,则可以:

ALTER PROCEDURE YourProcedureName (@Count INT) AS
BEGIN
 select invoice.first_name, invoice.last_name, invoice.date_ordered,
 sum(total_cost) AS Total_Spent
 from invoice
 group by invoice.last_name
 having count(*)>@Count;
END

这将创建一个输入参数,以便当用户运行该过程时,他们可以指定相同的行数将大于@Count参数。

如果您希望用户能够指望特定的列,那将变得有些棘手。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM