Consulta compleja?

04/07/2005 - 23:42 por Ruly | Informe spam
Hola a todos y gracias de antemano.

Soy un relativo ignorante de SQL que querría poder introducir unos datos
en una tabla.

Es una tabla grande (400MB) en una bd de 1GB. El problema es que por un
cambio en la estructura de los datos hay muchos valores que ahora están
<<null>>. A la aplicación no le gusta demasiado los null, por lo que hay
que actualizarlos a "0". Evidentemente se puede pedir a todos los
usuarios que completen todas las fichas de artículo, :) , pero no es lo
más inteligente.

Por ello me gustaría saber como puedo hacer una instrucción tipo:
- en la tabla A
- quiero que
*Toda la tabla
*Un grupo de columnas
- sustituyan todos los campos vacíos o null por valor "0"

y, más importante, dónde hacerlo, ya que soy un usuario básico de MSDE.

Gracias

ARGRuly

Preguntas similare

Leer las respuestas

#1 Jorge Martinez
04/07/2005 - 22:06 | Informe spam
A mi se me ocurren varias formas, aunque de golpe no vas a poder modificar
todos los campos a no ser que te montes la UPDATE correspondiente.

Esta es uan opcion, que seguro ya la pensaste, ejecutar el correspondiente
UPDATE ... WHERE campo IS NULL

Otra, mas drastica, es que si todavia no han metido datos en esos campos, es
que te los cepilles y los vuelvas a crear indicandoles que no permitan nulos
y un vaor por defecto.

No se, tu mismo tendras que decirlo.

Como tienes MSDE lo podrias hacer desde el OSQL.

SalU2


"Ruly" escribió en el mensaje
news:rVfye.143602$
Hola a todos y gracias de antemano.

Soy un relativo ignorante de SQL que querría poder introducir unos datos
en una tabla.

Es una tabla grande (400MB) en una bd de 1GB. El problema es que por un
cambio en la estructura de los datos hay muchos valores que ahora están
<<null>>. A la aplicación no le gusta demasiado los null, por lo que hay
que actualizarlos a "0". Evidentemente se puede pedir a todos los
usuarios que completen todas las fichas de artículo, :) , pero no es lo
más inteligente.

Por ello me gustaría saber como puedo hacer una instrucción tipo:
- en la tabla A
- quiero que
*Toda la tabla
*Un grupo de columnas
- sustituyan todos los campos vacíos o null por valor "0"

y, más importante, dónde hacerlo, ya que soy un usuario básico de MSDE.

Gracias

ARGRuly
Respuesta Responder a este mensaje
#2 Cristian
04/07/2005 - 22:10 | Informe spam
Hola.
Basicamente es asi :

Update Tabla
Set Nombre_Columna=0
where nombre_columna is null

Atte,
Cristian.

Ruly escribió:
Hola a todos y gracias de antemano.

Soy un relativo ignorante de SQL que querría poder introducir unos datos
en una tabla.

Es una tabla grande (400MB) en una bd de 1GB. El problema es que por un
cambio en la estructura de los datos hay muchos valores que ahora están
<<null>>. A la aplicación no le gusta demasiado los null, por lo que hay
que actualizarlos a "0". Evidentemente se puede pedir a todos los
usuarios que completen todas las fichas de artículo, :) , pero no es lo
más inteligente.

Por ello me gustaría saber como puedo hacer una instrucción tipo:
- en la tabla A
- quiero que
*Toda la tabla
*Un grupo de columnas
- sustituyan todos los campos vacíos o null por valor "0"

y, más importante, dónde hacerlo, ya que soy un usuario básico de MSDE.

Gracias

ARGRuly
Respuesta Responder a este mensaje
#3 Maxi
04/07/2005 - 22:12 | Informe spam
Hola, esta pregunta ya te la he respondido con anterioridad ;-)

Deberias hacer desde el OSQL la sentencia

UPDATE TABLA SET CAMPO= 0 WHERE CAMPO IS NULL


Salu2
Maxi


"Ruly" escribió en el mensaje
news:rVfye.143602$
Hola a todos y gracias de antemano.

Soy un relativo ignorante de SQL que querría poder introducir unos datos
en una tabla.

Es una tabla grande (400MB) en una bd de 1GB. El problema es que por un
cambio en la estructura de los datos hay muchos valores que ahora están
<<null>>. A la aplicación no le gusta demasiado los null, por lo que hay
que actualizarlos a "0". Evidentemente se puede pedir a todos los usuarios
que completen todas las fichas de artículo, :) , pero no es lo más
inteligente.

Por ello me gustaría saber como puedo hacer una instrucción tipo:
- en la tabla A
- quiero que
*Toda la tabla
*Un grupo de columnas
- sustituyan todos los campos vacíos o null por valor "0"

y, más importante, dónde hacerlo, ya que soy un usuario básico de MSDE.

Gracias

ARGRuly
Respuesta Responder a este mensaje
#4 Chente
05/07/2005 - 16:57 | Informe spam
Que tal Ruly, además de lo que te dicen los compañeros, entra la
administrador corporativo y selecciona tu tabla, click con el boton derecho,
diseñar tabla, selecciona tu campo(s) y abajo donde dice valor
predeterminado ponle 0, guardalo, de esta manera todas las inserciones
subsecuentes en lugar de aparecer como nulas tendran el valor 0 siempre y
cuando no les pases algun valor.


Saludos.

Vicente López.



"Ruly" escribió en el mensaje
news:rVfye.143602$
Hola a todos y gracias de antemano.

Soy un relativo ignorante de SQL que querría poder introducir unos datos
en una tabla.

Es una tabla grande (400MB) en una bd de 1GB. El problema es que por un
cambio en la estructura de los datos hay muchos valores que ahora están
<<null>>. A la aplicación no le gusta demasiado los null, por lo que hay
que actualizarlos a "0". Evidentemente se puede pedir a todos los
usuarios que completen todas las fichas de artículo, :) , pero no es lo
más inteligente.

Por ello me gustaría saber como puedo hacer una instrucción tipo:
- en la tabla A
- quiero que
*Toda la tabla
*Un grupo de columnas
- sustituyan todos los campos vacíos o null por valor "0"

y, más importante, dónde hacerlo, ya que soy un usuario básico de MSDE.

Gracias

ARGRuly
Respuesta Responder a este mensaje
#5 Ruly
06/07/2005 - 15:02 | Informe spam
Jorge Martinez escribió:
A mi se me ocurren varias formas, aunque de golpe no vas a poder modificar
todos los campos a no ser que te montes la UPDATE correspondiente.

Esta es uan opcion, que seguro ya la pensaste, ejecutar el correspondiente
UPDATE ... WHERE campo IS NULL



Eso he intentado, pero supongo que lo hago desde el sitio equivocado, ya
que siempre termino con los valores null.


Otra, mas drastica,


Correcto, drástica y traumática. Los datos están en una base de datos
que se está usando de continuo.
es que si todavia no han metido datos en esos campos, es
que te los cepilles


No no no no :)

y los vuelvas a crear indicandoles que no permitan nulos
y un vaor por defecto.

No se, tu mismo tendras que decirlo.

Como tienes MSDE lo podrias hacer desde el OSQL



Buff lo he intentado durante una mañana y no me aclaro.
.

Podría usar algún gestor de BBDD o el administrador de MsSQL, ya que
podría conectarme (ocasinalmente) desde otro ordenador y registrarlo
(creo recordar que el traspaso de datos se hizo mas o menos así)


SalU2



Saludos y muchas gracias

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