テーブル ( )に既にある候補者の特定のカテゴリ ( ) をsp_ET1_ClassificacaoPPIInferior
スコア ( ) でソートする手順 ( ) を作成しました。Numr_TotalEt1
TipoPrograma = 1
CandidatosVestAtual
CREATE TABLE [dbo].[CandidatosVestAtual](
[NUMG_Candidato] [bigint] NOT NULL,
[CODG_Curso] [varchar](4) NOT NULL,
[TipoPrograma] [int] NOT NULL,
[Numr_TotalEt1] [int] NULL,
[Numr_Classificacao_PPIInf_Et1] [int] NULL,
CONSTRAINT [PK_CandidatosVestAtual_1] PRIMARY KEY CLUSTERED ([NUMG_Candidato] ASC)
)
使用される手順のコードに従います。
ALTER PROCEDURE [dbo].[sp_ET1_ClassificacaoPPIInferior] @CODG_Curso varchar(4)
AS
DECLARE @Cnt INT
DECLARE @NUMG_Candidato INT
DECLARE Candidatos_C CURSOR FOR
SELECT NUMG_Candidato
FROM CandidatosVestAtual
WHERE TipoPrograma in (1) AND
Codg_Curso =@CODG_Curso
ORDER BY Numr_TotalEt1 DESC
set @Cnt = 1
OPEN Candidatos_C
FETCH NEXT FROM Candidatos_C INTO @NUMG_Candidato
WHILE (@@FETCH_STATUS = 0)
BEGIN
UPDATE CandidatosVestAtual SET Numr_Classificacao_PPIInf_Et1=@Cnt
FROM CandidatosVestAtual
WHERE NUMG_Candidato=@NUMG_Candidato
SET @Cnt = @Cnt + 1
FETCH NEXT FROM Candidatos_C INTO @NumG_Candidato
END
CLOSE Candidatos_C
DEALLOCATE Candidatos_C
ただし、この手順はそのままでは何もしません。元のクエリの手順を変更した場合にのみ、何らかの処理が行われます。
SELECT NUMG_Candidato
FROM CandidatosVestAtual
WHERE TipoPrograma in (1)
AND Codg_Curso = @ CODG_Curso
ORDER BY DESC Numr_TotalEt1
に
SELECT NUMG_Candidato
FROM CandidatosVestAtual
WHERE Codg_Curso = @CODG_Curso
ORDER BY DESC Numr_TotalEt1
元のクエリで手順を機能させるにはどうすればよいですか?