Seleccionar todas las columnas menos una

08/11/2007 - 18:59 por Carlos Sancho | Informe spam
Hola a todos

En Transact-SQL ¿cómo puedo seleccionar todas las columnas de una tabla
excepto una?
¿Existe alguna forma de hacerlo sin tener que enumerar una a una las
columnas que deseo?

Gracias por cualquier sugerencia

Saludos

Carlos Sancho

Preguntas similare

Leer las respuestas

#1 Gux (MVP)
08/11/2007 - 19:10 | Informe spam
No hay otra forma de hacerlo, usted debe mencionar cada una de las columnas
excepto la que no necesita.

Gustavo Larriera, Microsoft MVP
https://mvp.support.microsoft.com/profile/gux
Este mensaje se proporciona tal como es, sin garantías de ninguna clase.



"Carlos Sancho" wrote:

Mostrar la cita
#2 jcpc91
08/11/2007 - 19:55 | Informe spam
puedes utilizar el diseñador de consultas te facilitará la vida
#3 Peni
08/11/2007 - 20:17 | Informe spam
Si es para una sola tabla mi procedimiento no merece la pena, pero si
es para muchas ... Ten en cuenta que uso cursores, asi que no esperes
buen rendimiento. Quizás no sea muy elegante, pero funciona

CREATE function Rutinas.NColumnas (@Tabla as nvarchar(100))

RETURNS nvarchar(4000)
AS
BEGIN
Declare @C as nvarchar(4000)
Declare @Name as nvarchar(250)

DECLARE Columnas CURSOR LOCAL FAST_FORWARD READ_ONLY FOR
select name from syscolumns WITH (nolock)
where Id = (select top 1 id from sysobjects where xtype='U'
and name=@Tabla) and name <>'tu columna'

OPEN Columnas
set @C=''
FETCH NEXT FROM Columnas into @Name
WHILE @@FETCH_STATUS = 0
BEGIN
if @C= ''
set @C = rtrim(@Name)
else
set @C = @C + ',' + rtrim(@Name)
FETCH NEXT FROM Columnas into @Name
END

CLOSE Columnas
DEALLOCATE Columnas

return rtrim(@C)
END

Mostrar la cita
=Saludos. Peni.
=
#4 Peni
08/11/2007 - 20:27 | Informe spam
Perdón, que no acabé el post.
Esta función te devuelve las columnas de la tabla, menos la(s)que
quieras, luego deberías usar SQL dinámico.

Antes de que me llaméis de todo ;-) diré que lo uso para copiar datos
en la misma tabla, quitando una columna de identidad, para copiar los
datos de un ejercicio al siguiente, por lo solo se ejecuta una vez al
año.

Mostrar la cita
=Saludos. Peni.
=
#5 Gux (MVP)
08/11/2007 - 20:56 | Informe spam
Complemento mi mensaje con lo que suelo hacer en esos casos.

Uso el Management Studio, selecciono la tabla y genero la SELECT. Luego
copio/pego la misma en donde la necesito usar y borro la columna sobrante.

No es ciencia de cohetes pero sirve para mí :-)

Gustavo Larriera, Microsoft MVP
https://mvp.support.microsoft.com/profile/gux
Este mensaje se proporciona tal como es, sin garantías de ninguna clase.



"Gux (MVP)" wrote:

Mostrar la cita
Ads by Google
Search Busqueda sugerida