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 23-07-2004
txemag txemag is offline
Miembro
 
Registrado: feb 2004
Posts: 11
Poder: 0
txemag Va por buen camino
Question Consulta SQL para cambiar el orden natural de los campos de una tabla

A ver si me puedo explicar:
Creamos una tabla, con la sintaxis correspondiente

CREATE TABLE xxx
campo1 tipo1
campo2 tipo1

Logicamente el orden natural sera campo1, campo2 do forma que
Si hacemos un select * from xx
veremos en primer lugar el campo1 y despues el campo2, la pregunta es como se puede hacer mediante SQL el reordenar los campos, de forma que al abrir la tabla aparezca en primer lugar campo2 y luego campo1

Y no sirve eso de :
Usa select campo2, campo1 from xxx

Yo quiero cambiar el orden natural.

Con el IBEXPERT se puede hacer, pero no se como lo hace, porque no hay posibilidad de copiar el script como cuando se crean campos, indices, etc...

Gracias.....
Responder Con Cita
  #2  
Antiguo 23-07-2004
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 27
delphi.com.ar Va por buen camino
en lugar de hacer un "select *" tienes que definir explícitamente el orden de los campos:
Código SQL [-]
SELECT CAMPO2, CAMPO1
FROM TABLA

¿Cuál es el problema de que los campos esten en ese orden? ¿Los quieres para cargar una grilla? si es así, puedes predefinir las columnas en otro orden.

Saludos!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #3  
Antiguo 23-07-2004
Avatar de guillotmarc
guillotmarc guillotmarc is offline
Miembro
 
Registrado: may 2003
Ubicación: Huelva
Posts: 2.638
Poder: 24
guillotmarc Va por buen camino
Hola.

No hay ningún orden natural en una sentencia SQL. Si no se le indica un orden, el resultado puede salir ordenado de cualquier forma (dependiendo de las optimizaciones que utilize el motor).

Si quieres un orden concreto tienes que forzarlo.

select campo2, campo1 from tabla order by campo2, campo1

¿ Te referias a esto ?

Saludos.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no).
Responder Con Cita
  #4  
Antiguo 23-07-2004
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 28
jachguate Va por buen camino
Usá la sentencia:

Código SQL [-]
Alter table nombre_tabla alter column nombre_columna position new_col_position;

Hasta luego.

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #5  
Antiguo 23-07-2004
txemag txemag is offline
Miembro
 
Registrado: feb 2004
Posts: 11
Poder: 0
txemag Va por buen camino
Cita:
Empezado por jachguate
Usá la sentencia:

Código SQL [-]
Alter table nombre_tabla alter column nombre_columna position new_col_position;

Hasta luego.

Eso exactamente es lo que queria saber.

Muchas gracias.

delphi.com.ar, Marc os lo agradezco igual, buen intento, pero no soy tan "bruto" como pensais.

ME explico:

La utilidad de esto, es por ejemplo, si en Delphi añades un Dataset (del tipo que sea, IBDataset, Query...etc) cuando añades los campos, estos aparecen segun ese orden, con el SQL que comenta jachguate se cambia el orden como se quiera y se arregla visualmente el invento.

Última edición por txemag fecha: 23-07-2004 a las 22:29:43.
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


La franja horaria es GMT +2. Ahora son las 05:49:16.


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