[英]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.