mostrar numero do registro no sql
08/06/2008
0
Usando Firebird...
ClientDataSet1.CommandText:=´select * from tabela´ tenho os registros da tabela e posso pegar o número de cada registro com o ClientDataSet1.Recno.
Gostaria de saber é se tem como selecionar o número do registro dentro do próprio comando sql. Algo como: ´select tabela.registro, tabela.* from tabela´.
Existe algum comando sql que retorne o número do registro?
Catunda
Post mais votado
09/06/2008
Colega, a única forma que eu encontrei de resolver o problema que você está enfrentando foi a seguinte:
Criei um generator:
CREATE GENERATOR NUMERO_DA_LINHA;
Antes de rodar a consulta que precisa da coluna com o número da linha eu seto o generator para 0:
SET GENERATOR NUMERO_DA_LINHA TO 0;
E na consulta SQL eu uso a função GEN_ID para incrementar o generator:
SELECT P.RAZ_SOC, GEN_ID(NUMERO_DA_LINHA, 1)"NUMERO_DA_LINHA" FROM PESSOA P
Espero ter ajudado.
Qualquer dúvida, dá um grito aí.
Atenciosamente,
Fernando.
Bico
Mais Posts
09/06/2008
Javapaulomg
09/06/2008
Paulo
09/06/2008
Flyskin
09/06/2008
Brunodsr
Eu tinha resolvido o mesmo problema de forma diferente há algum tempo atrás. Mto boa a sua solução Bico.
15/12/2014
Wilson Azambuja
EXECUTE BLOCK
RETURNS(ROW_NUMBER INTEGER, TABLE_NAME VARCHAR(32))
AS
BEGIN
FOR SELECT ROW_COUNT, RDB$RELATION_NAME FROM RDB$RELATIONS
INTO :ROW_NUMBER, :TABLE_NAME DO
SUSPEND;
END
21/09/2015
Helivalda Barco
28/02/2019
Mário Reis
Não estou a responder mas antes a "Perguntar" que usa em seus programas? Tem um exemplo pequeno.Obrigado
EXECUTE BLOCK
RETURNS(ROW_NUMBER INTEGER, TABLE_NAME VARCHAR(32))
AS
BEGIN
FOR SELECT ROW_COUNT, RDB$RELATION_NAME FROM RDB$RELATIONS
INTO :ROW_NUMBER, :TABLE_NAME DO
SUSPEND;
END
Nunca usei o "Execute Block" porque até hoje não percebi como "montar o comando" no meu programa
Uso delphi e qual seria o componente a usar Query ou Script?
Ou posso montar o execute block numa Store Procedure
Clique aqui para fazer login e interagir na Comunidade :)