Fórum Store Procedure #49342
12/02/2005
0
ordem nome
1 Hermeto
2 Edna
3 Marcos
4 Valkiria
6 Evandro
8 Junior
10 Gildo
ele deve ficar da seguinte forma:
ordem nome
1 Hermeto
2 Edna
3 Marcos
4 Valkiria
6 Evandro
7 Junior
8 Gildo
queria criar uma procedure pra gravar no campo ordem a numeraçao correta, se puderem me dar uma força....agradeço [/b]
Duarteol
Curtir tópico
+ 0Posts
13/02/2005
Renato_sp
CREATE PROCEDURE ALINHARCODIGO AS DECLARE VARIABLE CODIGO INTEGER; DECLARE VARIABLE INC INTEGER; begin Inc = 1; for select Ordem from tabela into :Codigo do begin update tabela set Ordem = :Inc where Ordem = :Codigo; inc = inc + 1; end end
Agora para utilizar ela é simples
execute procedure AlinharCodigo
Espero que te ajude...
Renato / SP[/code]
Gostei + 0
18/02/2005
Duarteol
CREATE PROCEDURE EMM_REORDENA (
VALU_NOME VARCHAR(200),
VMATR_ANOLETIVO INTEGER,
VMATR_NUMERO INTEGER,
VTUR_COD INTEGER)
AS
DECLARE VARIABLE VAR_NUMERO INTEGER;
begin
For Select ALU_NOME, MATR_ANOLETIVO, MATR_NUMERO, TUR_COD From emm_dadosmatr
INNER JOIN EMM_ALUNOS Emm_alunos
ON (emm_dadosmatr.ALU_COD = Emm_alunos.ALU_COD)
Where TUR_COD = :vtur_cod and MATR_ANOLETIVO = :vmatr_anoletivo
order by emm_alunos.alu_nome Into
:valu_nome, :vmatr_anoletivo, :vmatr_numero, :vtur_cod
Do
Begin
update emm_dadosmatr
set emm_dadosmatr.matr_numero = :VAR_NUMERO + 1
Where TUR_COD = :vtur_cod and MATR_ANOLETIVO = :vmatr_anoletivo;
suspend;
End
end
Gostei + 0
18/02/2005
Gandalf.nho
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)