Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 04-01-2011
JXJ JXJ is offline
Miembro
 
Registrado: abr 2005
Posts: 2.475
Poder: 22
JXJ Va por buen camino
Question ¿tablas temporales?

¡¿que son las tablas temporales y como se usan?


yo entiendo que uno hace un query dijamos
select * clientes y ese resultado se puede asignar a una tabla temporal

pero no se si esa tabla es fisicamente creada y al cerrar el programa
que se conecta a firebird o firebird destruye esa tabla

¿se le puede asignar nombre a esta tabla?

en muchas ocaciones es muy util hacer un query y trabajar como si fuese
una tabla real en la base de datos.
Responder Con Cita
  #2  
Antiguo 05-01-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.

Si no me equivoco te referís a las vistas. Las vistas son tablas virtuales y su uso es similar al de una tabla normal.
Por ejemplo crear una vista:
Código SQL [-]
CREATE VIEW CODIGOS_SIN_REPETIR(CODIGO)  
AS
  SELECT DISTINCT CODIGO FROM CODIGOS;
Aquí tenés información más detallada: CREATE VIEW .

Creo recordar que en La Cara Oculta de Delphi 4 también hay una buena explicación del uso de las vistas.

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 05-01-2011 a las 02:05:40.
Responder Con Cita
  #3  
Antiguo 05-01-2011
Avatar de Combat-F2D
Combat-F2D Combat-F2D is offline
Miembro
 
Registrado: may 2003
Ubicación: Toletum
Posts: 454
Poder: 22
Combat-F2D Va por buen camino
ojo, no confundir view con tabla temporal, no es lo mismo
__________________
online
Responder Con Cita
  #4  
Antiguo 05-01-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Cita:
Empezado por Combat-F2D Ver Mensaje
ojo, no confundir view con tabla temporal, no es lo mismo
Tenés razón, olvidé que se pueden usar en Firebird a partir de la v. 2.1

Creo que debí acostarme más temprano...

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #5  
Antiguo 06-01-2011
Avatar de lucasarts_18
lucasarts_18 lucasarts_18 is offline
Miembro
 
Registrado: mar 2005
Ubicación: Villa Alemana,Chile
Posts: 1.087
Poder: 21
lucasarts_18 Va por buen camino
Amigos:

El mismo IbExpert tiene una opción al momento de crear una tabla, la opción Type (Persistent, Temp: DELETE ROWS, Temp: PRESERVE ROWS). siendo la por defecto la de Persistent (obviamente) .

Espero que les sirva, yo por ahora estoy viendo este tema ya que requiero de una tablita de esas.

Lo otro que encuentro bueno y solo lo visto en MS-SQL Server es las variables tipo tabla, que me ha sacado en más de un apuro

Saludos .-
__________________
No todo es como parece ser...
Responder Con Cita
  #6  
Antiguo 23-09-2012
jdnb01 jdnb01 is offline
Registrado
NULL
 
Registrado: sep 2012
Posts: 1
Poder: 0
jdnb01 Va por buen camino
Tablas temporales SQL ejemplo

Quizas con este codigo podran apreciar un breve ejemplo de usar las tablas temporales y de como podrian ser recorridas, asi he aprendido y o utilizarlas y su alcance

Código SQL [-]
--Aqui creamos la primera tabla temporal "#uno"

create table #uno(   
col_cero int,
col_uno int,
col_dos int)

--Aqui la llenamos con datos manualmente
insert #uno(col_cero,col_uno,col_dos)
values (1,2,3),
(4,5,6),
(7,8,9)
 
--se crea la segunda tabla temporal "#dos"
create table #dos(col_cero2 int, col_uno2 int, col_dos2 int)

--aqui declaramos variables para controlar el while de registro a registro
declare @index int = 1
declare @index_T int
--fijamos en la variable el conteo total de filas en la tabla #uno
 select @index_T = count(col_cero) from #uno  
--comienza el while 
while (@index <= @index_T )
begin
--creo las variables y les asigno el valor que necesito de la tabla #uno
    declare @cero int
    select  top(@index) @cero = col_cero from #uno 
    declare @uno int
    select  top(@index) @uno = col_uno from #uno
    declare @dos int
    select  top(@index) @dos = col_dos from #uno
--lleno la tabla #dos
    insert #dos(#dos.col_cero2,#dos.col_uno2,#dos.col_dos2)
    values(@cero * @cero,@uno * @uno,@dos*@dos) 
--aumento el indice
set @index = @index + 1
end
--se muestran los resultados
select * from #uno
select * from #dos
--se descartan lsa tablas temporales
drop table #uno
drop table #dos

existen muchas maneras de trabajarlas, espero ayudar a alguien con este codigo
Responder Con Cita
  #7  
Antiguo 23-09-2012
[birmain] birmain is offline
Miembro Premium
 
Registrado: feb 2005
Ubicación: Albacete - España
Posts: 49
Poder: 0
birmain Va por buen camino
Tablas temporales

Hola a todos.

Yo he empezado a utilizarlas y son de gran utilidad. Trataré de explicar su filosofía: Cuando requerimos una colección de datos de uso temporal, por ejemplo la creación de un conjunto de datos dentro de un stored procedure, para luego en determinado punto del mismo volver a procesarlos son ideales las tablas temporales. No importa que otro usuario al mismo tiempo lance este procedimiento y vuelva a utilizar la tabla temporal. No habrá interferencia, puesto que los datos no son almacenados dentro de la base de datos, sino en los espacios temporales que dicha base utiliza, y que adjudica de forma distinta a cada usuario. Lo único que se guarda dentro de la base de datos es la definición de la tabla temporal, que puede ser persistente, o se pueden borrar los datos de forma automática al terminar la transaction. Respecto a la velocidad de proceso, es notablemente superior en tablas temporales, ya que supongo que si el servido está bien dotado de memoria, esta es utilizada en la medida de lo posible para el almacenamiento de la tabla.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Tablas Temporales look SQL 2 15-03-2008 17:53:16
Tablas Temporales Milperrimo Firebird e Interbase 7 25-10-2007 06:01:25
Tablas Temporales MySQL y Vb6 Payola2011 Varios 2 08-02-2006 21:52:04
tablas temporales en interbase Manuel Firebird e Interbase 8 13-06-2005 15:45:06
Acceder a las tablas temporales oneromm Conexión con bases de datos 1 24-12-2003 11:52:18


La franja horaria es GMT +2. Ahora son las 20:09:46.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi