Verificar que existe un campo!

03/11/2005 - 02:33 por [David] | Informe spam
Saludos.
tengo el codigo para modificar una tabla (quitar o agregar columnas).
ALTER TABLE ALUMNOS DROP COLUMN ANIO, LAREDO, VETERANO
ALTER TABLE ALUMNOS ADD ANIO INT, LAREDO BIT, VETERANO BIT
pero necesito de alguna funcion (una validacion) para saber si por ejemplo
la columna "laredo" ya existe en la tabla, ya ven que si ejecuto otra vez el
codigo
ALTER TABLE ALUMNOS ADD ANIO INT, LAREDO BIT, VETERANO BIT
me marcara error.
Ayuda!!!.
De antemano, gracias

Preguntas similare

Leer las respuestas

#1 Carlos Sacristán
03/11/2005 - 08:58 | Informe spam
IF EXISTS (SELECT 1 FROM information_schema.columns WHERE
table_name='tu_tabla' AND column_name='tu_columna')
ELSE


Un saludo

-
"Sólo sé que no sé nada. " (Sócrates)

"[David]" escribió en el mensaje
news:
Saludos.
tengo el codigo para modificar una tabla (quitar o agregar columnas).
ALTER TABLE ALUMNOS DROP COLUMN ANIO, LAREDO, VETERANO
ALTER TABLE ALUMNOS ADD ANIO INT, LAREDO BIT, VETERANO BIT
pero necesito de alguna funcion (una validacion) para saber si por ejemplo
la columna "laredo" ya existe en la tabla, ya ven que si ejecuto otra vez


el
codigo
ALTER TABLE ALUMNOS ADD ANIO INT, LAREDO BIT, VETERANO BIT
me marcara error.
Ayuda!!!.
De antemano, gracias


Respuesta Responder a este mensaje
#2 Eladio Rincón
03/11/2005 - 09:05 | Informe spam
Mira a ver si alguna de estas soluciones te sirve ( tabla Customers, columna
CustomerID):

use northwind

go
select * from
information_schema.columns c
join information_schema.tables t
on c.table_catalog = t.table_catalog and
c.table_schema = t.table_schema and
c.table_name = t.table_name
where
t.table_name = 'Customers'
and c.column_name = 'CustomerID'

go
select * from
information_schema.columns c
where
c.table_name = 'Customers'
and c.column_name = 'CustomerID'


go
select * from syscolumns
where
id = object_id ('Customers')
and name = 'CustomerID'


sólo tendrías que hacer

if not exists ( <una de las tres consultas seleccionadas> )
alter table alumnos add anio int
go



Eladio Rincón

SQL Server MVP, Mentor
Solid Quality Learning
http://www.SolidQualityLearning.com

"Solid Quality Learning is the trusted global provider of advanced education
and solutions for the entire Microsoft database platform"


"[David]" wrote in message
news:
Saludos.
tengo el codigo para modificar una tabla (quitar o agregar columnas).
ALTER TABLE ALUMNOS DROP COLUMN ANIO, LAREDO, VETERANO
ALTER TABLE ALUMNOS ADD ANIO INT, LAREDO BIT, VETERANO BIT
pero necesito de alguna funcion (una validacion) para saber si por ejemplo
la columna "laredo" ya existe en la tabla, ya ven que si ejecuto otra vez
el codigo
ALTER TABLE ALUMNOS ADD ANIO INT, LAREDO BIT, VETERANO BIT
me marcara error.
Ayuda!!!.
De antemano, gracias

Respuesta Responder a este mensaje
#3 Alejandro Mesa
03/11/2005 - 15:45 | Informe spam
Comentario:

El nombre de la vista es INFORMATION_SCHEMA.COLUMNS. Si ejecutan los scripts
posteados, en una db con collation CS (case sensitive), los mismos daran
resultados no esperados.


AMB

"[David]" wrote:

Saludos.
tengo el codigo para modificar una tabla (quitar o agregar columnas).
ALTER TABLE ALUMNOS DROP COLUMN ANIO, LAREDO, VETERANO
ALTER TABLE ALUMNOS ADD ANIO INT, LAREDO BIT, VETERANO BIT
pero necesito de alguna funcion (una validacion) para saber si por ejemplo
la columna "laredo" ya existe en la tabla, ya ven que si ejecuto otra vez el
codigo
ALTER TABLE ALUMNOS ADD ANIO INT, LAREDO BIT, VETERANO BIT
me marcara error.
Ayuda!!!.
De antemano, gracias



Respuesta Responder a este mensaje
#4 Carlos Sacristán
03/11/2005 - 17:08 | Informe spam
Esto ya es hilar fino, fino, eh Alejandro? ;-)


Un saludo

-
"Sólo sé que no sé nada. " (Sócrates)

"Alejandro Mesa" escribió en el
mensaje news:
Comentario:

El nombre de la vista es INFORMATION_SCHEMA.COLUMNS. Si ejecutan los


scripts
posteados, en una db con collation CS (case sensitive), los mismos daran
resultados no esperados.


AMB

"[David]" wrote:

> Saludos.
> tengo el codigo para modificar una tabla (quitar o agregar columnas).
> ALTER TABLE ALUMNOS DROP COLUMN ANIO, LAREDO, VETERANO
> ALTER TABLE ALUMNOS ADD ANIO INT, LAREDO BIT, VETERANO BIT
> pero necesito de alguna funcion (una validacion) para saber si por


ejemplo
> la columna "laredo" ya existe en la tabla, ya ven que si ejecuto otra


vez el
> codigo
> ALTER TABLE ALUMNOS ADD ANIO INT, LAREDO BIT, VETERANO BIT
> me marcara error.
> Ayuda!!!.
> De antemano, gracias
>
>
>
Respuesta Responder a este mensaje
#5 Alejandro Mesa
03/11/2005 - 17:26 | Informe spam
Carlos Sacristán,

que te puedo decir, uno aprende de sus propios errores.


AMB

"Carlos Sacristán" wrote:

Esto ya es hilar fino, fino, eh Alejandro? ;-)


Un saludo

-
"Sólo sé que no sé nada. " (Sócrates)

"Alejandro Mesa" escribió en el
mensaje news:
> Comentario:
>
> El nombre de la vista es INFORMATION_SCHEMA.COLUMNS. Si ejecutan los
scripts
> posteados, en una db con collation CS (case sensitive), los mismos daran
> resultados no esperados.
>
>
> AMB
>
> "[David]" wrote:
>
> > Saludos.
> > tengo el codigo para modificar una tabla (quitar o agregar columnas).
> > ALTER TABLE ALUMNOS DROP COLUMN ANIO, LAREDO, VETERANO
> > ALTER TABLE ALUMNOS ADD ANIO INT, LAREDO BIT, VETERANO BIT
> > pero necesito de alguna funcion (una validacion) para saber si por
ejemplo
> > la columna "laredo" ya existe en la tabla, ya ven que si ejecuto otra
vez el
> > codigo
> > ALTER TABLE ALUMNOS ADD ANIO INT, LAREDO BIT, VETERANO BIT
> > me marcara error.
> > Ayuda!!!.
> > De antemano, gracias
> >
> >
> >



Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida