... C", 40, 0 }, ;
{ "PRECO" , "N", 10, 2 } ;
} )
endif
// Abre o arquivo de forma compartilhada
USE PRODUTOS SHARED NEW
::AreaTrabalho := Select() // Guarda o ponteiro desta tabela
return Self
// Busca um produto pelo código e carrega para as variáveis do objeto
METHOD Localizar( nCodigo ...
Pesquisa resultou em 3649 ocorrências: +SELECT
Termo pesquisado: +select
- 26 Jul 2026 16:41
- Fórum: [x]Harbour
- Tópico: Como é a orientação a objeto no Harbour
- Respostas: 11
- Exibições: 276
- 26 Jul 2026 12:04
- Fórum: SQL
- Tópico: SQL melhor forma de trabalhar.
- Respostas: 13
- Exibições: 276
Re: SQL melhor forma de trabalhar.
rs := cnSQL:Execute( " SELECT ..." )
DO WHILE ! rs:eof()
rs:movenext()
ENDDO
rs:Close()
No caso do ADO, esse temporário é no formato ADO
No caso do SQLMIX, esse temporário é acessado como DBF
No caso do hbMySQL esse temporário é acessado como array
No caso de uma API poderia ser JSON, XML, ou ...
- 26 Jul 2026 11:52
- Fórum: SQL
- Tópico: SQL melhor forma de trabalhar.
- Respostas: 13
- Exibições: 276
Re: SQL melhor forma de trabalhar.
... se desejar criar uma tabela local (DBF/INI) etc...Depende da necessidade disso, as opções são variadíssimas.
Por isso eu recomendo o uso de ADO.
Ainda não entendeu nem que o SELECT geralmente trás um temporário.
Se é um temporário, nem precisa pensar em criar nada local, porque já veio na consulta.
Por isso eu recomendo o uso de ADO.
Ainda não entendeu nem que o SELECT geralmente trás um temporário.
Se é um temporário, nem precisa pensar em criar nada local, porque já veio na consulta.
- 24 Jul 2026 11:47
- Fórum: SQL
- Tópico: SQL melhor forma de trabalhar.
- Respostas: 13
- Exibições: 276
SQL melhor forma de trabalhar.
... são no máximo 10 ou 15, no máximo 50 registros.
Um exemplo da IA.
// Query segura que busca o usuário ativo e confere a senha
cSql := "SELECT id, apelido, nome, nivel, liberapdv, senha " + ;
"FROM usuarios " + ;
"WHERE LOWER(apelido) = " + SqlVal( Lower(AllTrim(cApelidoInput ...
Um exemplo da IA.
// Query segura que busca o usuário ativo e confere a senha
cSql := "SELECT id, apelido, nome, nivel, liberapdv, senha " + ;
"FROM usuarios " + ;
"WHERE LOWER(apelido) = " + SqlVal( Lower(AllTrim(cApelidoInput ...
- 22 Jul 2026 17:29
- Fórum: SQL
- Tópico: SQLMIX e a sintaxe SQL do PostgreSQL
- Respostas: 7
- Exibições: 225
Re: SQLMIX e a sintaxe SQL do PostgreSQL
... nItensPagina )
ELSE
? "Não há mais registros."
ENDIF
// Fecha a conexão
RddInfo( RDDI_DISCONNECT, hConn )
RETURN
// Função que executa o SELECT paginado
FUNCTION BuscarPagina( nIdAnterior, nLimite )
LOCAL cQuery, nUltimoIdEncontrado := 0
LOCAL nContador := 0
// Monta a query utilizando ...
ELSE
? "Não há mais registros."
ENDIF
// Fecha a conexão
RddInfo( RDDI_DISCONNECT, hConn )
RETURN
// Função que executa o SELECT paginado
FUNCTION BuscarPagina( nIdAnterior, nLimite )
LOCAL cQuery, nUltimoIdEncontrado := 0
LOCAL nContador := 0
// Monta a query utilizando ...
- 22 Jul 2026 13:35
- Fórum: SQL
- Tópico: SQLMIX e a sintaxe SQL do PostgreSQL
- Respostas: 7
- Exibições: 225
SQLMIX e a sintaxe SQL do PostgreSQL
... tabela estoques !')
RDDINFO(RDDI_DISCONNECT, nCon)
RDDSETDEFAULT( cRdd )
RETURN .T.
ENDIF
ImportaDbfParaPostgres()
dbUseArea( .T., "SQLMIX" , "select * from estoques",'xx' )
Browse()
ShowEstruturaTabela( 'estoques' )
Return .t ...
RDDINFO(RDDI_DISCONNECT, nCon)
RDDSETDEFAULT( cRdd )
RETURN .T.
ENDIF
ImportaDbfParaPostgres()
dbUseArea( .T., "SQLMIX" , "select * from estoques",'xx' )
Browse()
ShowEstruturaTabela( 'estoques' )
Return .t ...
- 22 Jun 2026 13:26
- Fórum: Banco de Dados
- Tópico: Select demorando
- Respostas: 15
- Exibições: 3309
Re: Select demorando
Boa tarde.
Agradeço à todos que responderam, estou resolvendo algumas coisas aqui, mas até final da semana vou responder à todos e testar esses exemplos.
Obrigado à todos por enquanto.
Poka
Agradeço à todos que responderam, estou resolvendo algumas coisas aqui, mas até final da semana vou responder à todos e testar esses exemplos.
Obrigado à todos por enquanto.
Poka
- 15 Jun 2026 15:51
- Fórum: SQL
- Tópico: Harbour + SQLMIX
- Respostas: 32
- Exibições: 5804
Re: Harbour + SQLMIX
... Código executado entre os blocos BEGIN...END; padrão ou stored procedures não executarão AUTOCOMMIT em comandos DML (Data Management Language (SELECT, INSERT, UPDATE, DELETE)), sendo necessário emitir o COMMIT no próprio bloco/stored procedure ou permitir que a aplicação cliente o execute ...
- 14 Jun 2026 05:38
- Fórum: Banco de Dados
- Tópico: Select demorando
- Respostas: 15
- Exibições: 3309
Re: Select demorando
Olá!
Uso Firebird 2.5
As Common Table Expressions (CTE), também conhecidas como WITH, somente estão disponíveis a partir da versão 3 do Firebird.
Este é mais um daqueles tópicos em que não ficaremos sabendo se a ajuda fornecida serviu para alguma coisa pois o autor já criou uma solução ...
Uso Firebird 2.5
As Common Table Expressions (CTE), também conhecidas como WITH, somente estão disponíveis a partir da versão 3 do Firebird.
Este é mais um daqueles tópicos em que não ficaremos sabendo se a ajuda fornecida serviu para alguma coisa pois o autor já criou uma solução ...
- 12 Jun 2026 23:11
- Fórum: Banco de Dados
- Tópico: Select demorando
- Respostas: 15
- Exibições: 3309
Re: Select demorando
Amiguinhos,
POKA sua query tem muitas sub-querys aninhadas então pode demorar mesmo. Tente:
str := ;
"WITH Dados AS (" + ;
" SELECT b.valor, b.dc, b.nrecibo, d.valor " + ;
" FROM " + pagarb + " b " + ;
" INNER JOIN " + pagard + " d " + ;
" ON b.docum = d.docum AND b.codfor = d.codfor " + ;
" AND b ...
POKA sua query tem muitas sub-querys aninhadas então pode demorar mesmo. Tente:
str := ;
"WITH Dados AS (" + ;
" SELECT b.valor, b.dc, b.nrecibo, d.valor " + ;
" FROM " + pagarb + " b " + ;
" INNER JOIN " + pagard + " d " + ;
" ON b.docum = d.docum AND b.codfor = d.codfor " + ;
" AND b ...
- 12 Mai 2026 22:02
- Fórum: Banco de Dados
- Tópico: Select demorando
- Respostas: 15
- Exibições: 3309
Re: Select demorando
Eu aconselharia separar o resumo das somas do SELECT principal. Do jeito atual, ele agrupa por b.valor, b.dc, b.nrecibo, d.valor, então pode gerar várias linhas e ainda obriga o Firebird a agrupar mais dados do que precisa.
Também tem dois possíveis erros:
FROM PAGARB bINNER JOIN PAGARD d
deveria ...
Também tem dois possíveis erros:
FROM PAGARB bINNER JOIN PAGARD d
deveria ...
- 11 Mai 2026 23:21
- Fórum: Banco de Dados
- Tópico: Select demorando
- Respostas: 15
- Exibições: 3309
Re: Select demorando
Olá!
Chamou minha atenção esta frase na resposta da IA:
## Por que isso fica mais rápido?
1. SARGability: Ao usar coluna = :valor, o Firebird usa o índice da chave primária ou estrangeira.
Recorrendo novamente a ela:
SARGability (uma contração de Search ARGument ABLE) refere-se à capacidade ...
Chamou minha atenção esta frase na resposta da IA:
## Por que isso fica mais rápido?
1. SARGability: Ao usar coluna = :valor, o Firebird usa o índice da chave primária ou estrangeira.
Recorrendo novamente a ela:
SARGability (uma contração de Search ARGument ABLE) refere-se à capacidade ...
- 07 Mai 2026 20:07
- Fórum: Banco de Dados
- Tópico: Select demorando
- Respostas: 15
- Exibições: 3309
Re: Select demorando
Boa noite.
Alexandre, o índice está correto, sem concatenar, estão separados por virgula.
A rotina com o case traz instantâneo, porém não traz somado por grupo (sum).
Se tiver 10 lançamentos na baixa, traz 10 lançamentos, não agrupados.
Fiz diversas alterações, mas não resolveu.
Vou mexer ...
Alexandre, o índice está correto, sem concatenar, estão separados por virgula.
A rotina com o case traz instantâneo, porém não traz somado por grupo (sum).
Se tiver 10 lançamentos na baixa, traz 10 lançamentos, não agrupados.
Fiz diversas alterações, mas não resolveu.
Vou mexer ...
- 06 Mai 2026 21:54
- Fórum: Banco de Dados
- Tópico: Select demorando
- Respostas: 15
- Exibições: 3309
Re: Select demorando
Olá!
Obrigado Alexandre, vou fazer o teste aqui.
Gostaria de saber se funcionou e se melhorou a performance.
ela já esta com o ìndice docum+codfor+tpnota+serie+ordem
Não sei como está criando o índice, mas não pode ser como em Clipper, concatenado campos.
Sintaxe do Firebird:
CREATE INDEX ...
Obrigado Alexandre, vou fazer o teste aqui.
Gostaria de saber se funcionou e se melhorou a performance.
ela já esta com o ìndice docum+codfor+tpnota+serie+ordem
Não sei como está criando o índice, mas não pode ser como em Clipper, concatenado campos.
Sintaxe do Firebird:
CREATE INDEX ...
- 06 Mai 2026 20:19
- Fórum: Banco de Dados
- Tópico: Select demorando
- Respostas: 15
- Exibições: 3309
Re: Select demorando
Obrigado Alexandre, vou fazer o teste aqui.
Poka
Poka