我也希望使用以下SQL Server存储过程来获取记录。有人可以让我知道我如何重写以下过程吗?
@PapCod AS VARCHAR(3)
AS
BEGIN
SET NOCOUNT OFF;
SELECT
RTRIM(SA_ArticalCode) AS SupCode,
RTRIM(SA_ArticalName) AS SupName
FROM
Correspondent_Staff_Atricals
WHERE
SA_PapCode = RTRIM(@PapCod)
END
答案 0 :(得分:2)
使用count(*)over()
SELECT
RTRIM(SA_ArticalCode) AS SupCode,
RTRIM(SA_ArticalName) AS SupName,
count(*) over() [count]
FROM
Correspondent_Staff_Atricals
WHERE
SA_PapCode = @PapCod -- no need to rtrim, the rows will be found anyway
答案 1 :(得分:1)
您可以使用COUNT
功能。
SELECT
COUNT(*)
FROM
Correspondent_Staff_Atricals
WHERE
SA_PapCode = RTRIM(@PapCod)
答案 2 :(得分:0)
您可以使用Union ALL
在计算行数的位置附加一行:
SELECT RTRIM(SA_ArticalCode) as SupCode,
RTRIM(SA_ArticalName) as SupName
FROM Correspondent_Staff_Atricals
WHERE SA_PapCode = RTRIM(@PapCod)
UNION ALL
SELECT 'RowsCount', COUNT(1)
FROM Correspondent_Staff_Atricals
WHERE SA_PapCode = RTRIM(@PapCod)