Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Firebird e Interbase (https://www.clubdelphi.com/foros/forumdisplay.php?f=19)
-   -   Consulta SQL para cambiar el orden natural de los campos de una tabla (https://www.clubdelphi.com/foros/showthread.php?t=12674)

txemag 23-07-2004 18:13:18

Consulta SQL para cambiar el orden natural de los campos de una tabla
 
A ver si me puedo explicar::confused:
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.....;)

delphi.com.ar 23-07-2004 18:33:26

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!

guillotmarc 23-07-2004 19:01:02

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.

jachguate 23-07-2004 19:04:01

Usá la sentencia:

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

Hasta luego.

;)

txemag 23-07-2004 19:15:08

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.:p :D :D

Muchas gracias.

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

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.:)


La franja horaria es GMT +2. Ahora son las 13:13:48.

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