![]() |
Select de un campo concreto y todos los demas
Hola buenas a todos. El titulo no es lo mas descriptivo pero a ver si me hago entender ;).
Estoy buscando la manera de hacer una sql anidada (Select (select)) en interbase, que me devuelva el resultado del primer campo de la tabla incrementado en un valor X y el resto de los campos tal cual están sin repetir el campo incrementado. Lo necesito para actualizar el campo indice de la tabla, con un nuevo valor. Un ejemplo, tabla libros, campo indice idlibro. insert into libro select (select idlibro+X from libro where idlibro like M) as idlibro,libro.* from libro where idlibro like M El problema es que al poner libro.* estoy seleccionando de nuevo el campo idlibro y me peta al no coincidir el nº de campos que tiene la tabla donde inserto con el nº de campos que le paso de la select. Entonces, pregunto si hay alguna forma de no pasar o saltar o eliminar un campo determinado en libro.*. La opcion de escribir manualmente los campos, despues de la select anidada no me vale, ya que son muchisimos campos y me paso en la longitud maxima permitida para el metodo add de el componente TQuery. Muchisimas gracias por leerme al menos y por vuestra ayuda. Un saludo. |
Cita:
Saluditos |
Saludos.
Si sobrepasas el número de caracter soportado por el TQuery, te recomiendo hacer un Stored Procedure y luego ejecutarlo desde la aplicación. |
Gracias por responder.:)
Cierto, que no necesito la 2ª select. un trabajo inutil por tanto. El tema de los procedimientos almacenados me tengo que poner al dia con ellos.:cool: Aun no los he utilizado nunca.:eek: Un saludo |
La franja horaria es GMT +2. Ahora son las 12:37:04. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi