Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

consulta sql

Estas en el tema de consulta sql en el foro de SQL Server en Foros del Web. Buenas, tengo un problema con una sentencia sql. El problema es que tengo un insert into xxxx values (param_1,param_2...param_n). Quiero modificar mi tabla añadiendole un ...
  #1 (permalink)  
Antiguo 18/06/2009, 07:05
 
Fecha de Ingreso: febrero-2008
Mensajes: 6
Antigüedad: 16 años, 3 meses
Puntos: 0
consulta sql

Buenas, tengo un problema con una sentencia sql.

El problema es que tengo un insert into xxxx values (param_1,param_2...param_n).

Quiero modificar mi tabla añadiendole un campo (alter table default ...)

El problema es que con la nueva definicion de la tabla no me funciona la anterior insercion (y no puedo/debo/me obligan a modificarla).

Alguien sabe alguna forma de que me valga la misma insercion?
El problema es que al poner values (...) si no tiene el mismo numero de parametros que la nueva tabla pues me protesta el SQL SERVER 2005.

Gracias de antebrazo :)
  #2 (permalink)  
Antiguo 18/06/2009, 07:20
 
Fecha de Ingreso: febrero-2008
Mensajes: 6
Antigüedad: 16 años, 3 meses
Puntos: 0
Respuesta: consulta sql

up!

nadie ha tenido este problema nunca?
  #3 (permalink)  
Antiguo 18/06/2009, 07:59
 
Fecha de Ingreso: enero-2008
Mensajes: 614
Antigüedad: 16 años, 4 meses
Puntos: 57
Respuesta: consulta sql

Si modificaste la tabla entonces tambien tendrias que modificar la sentencia para insertar registros. Si tu tabla tiene mas/menos campos, entonces la sentencia deberia adaptarse a la nueva estructura.

O tambien podrias utilizar el insert indicando el valor de los campos:
Código:
insert into xxx(campo1,campo3,campo5) values(valor1,valor3,valor5)
Los campos que omitas en el insert tendrian que aceptar valores nulos
  #4 (permalink)  
Antiguo 18/06/2009, 08:39
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 18 años, 8 meses
Puntos: 39
Respuesta: consulta sql

Despues del nombre de la tabla tienes que poner las columnas entre parentesis.
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.
  #5 (permalink)  
Antiguo 18/06/2009, 09:12
 
Fecha de Ingreso: febrero-2008
Mensajes: 6
Antigüedad: 16 años, 3 meses
Puntos: 0
Respuesta: consulta sql

Gracias por las respuestas pero no me valen.

La consulta de insercion NO SE PUEDE MODIFICAR, ahí está el problema ...

yo quiero que las inserciones que se hagan desde esa consulta metan un valor nulo, vacio, por defecto o lo que sea pero que no se modifique esa consulta. Repito, el INSERT no se puede modificar asi que tiene que ser a la hora de hacer el alter TABLE donde se especifique que acepte valores por defecto y que no me pete la consulta del INSERT
  #6 (permalink)  
Antiguo 18/06/2009, 09:36
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 18 años, 8 meses
Puntos: 39
Respuesta: consulta sql

Entonces tienes que ponerle un valor por defecto a la columna nueva.
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.
  #7 (permalink)  
Antiguo 19/06/2009, 02:42
 
Fecha de Ingreso: febrero-2008
Mensajes: 6
Antigüedad: 16 años, 3 meses
Puntos: 0
Respuesta: consulta sql

Ya lo he probado pero al tener un insert de la forma:

insert into (tabla) values (...) me protesta porque el numero de parametros que le paso es menor que el de la definicion de la tabla (aunque el nuevo campo tenga un valor por defecto), esto solo funciona si el campo es autoincremental ...

creo que no tiene solucion... :(
  #8 (permalink)  
Antiguo 19/06/2009, 07:48
 
Fecha de Ingreso: enero-2008
Mensajes: 614
Antigüedad: 16 años, 4 meses
Puntos: 57
Respuesta: consulta sql

Cita:
Iniciado por Hackerinblues Ver Mensaje
Ya lo he probado pero al tener un insert de la forma:

insert into (tabla) values (...) me protesta porque el numero de parametros que le paso es menor que el de la definicion de la tabla (aunque el nuevo campo tenga un valor por defecto), esto solo funciona si el campo es autoincremental ...

creo que no tiene solucion... :(
Si en el insert omites el nombre de los campos entonces en la parte de VALUES tienes que poner TODOS LOS CAMPOS que existen en la tabla. Si en la sentencia envias el valor para 3 campos y tu tabla es de 5 campos, como sabria el servidor a que campos corresponden los valores que enviaste?

Si no puedes modificar tu sentencia de insert entonces creo que tienes razon, no tiene solucion
  #9 (permalink)  
Antiguo 20/06/2009, 00:22
Avatar de alfcm  
Fecha de Ingreso: mayo-2009
Mensajes: 291
Antigüedad: 15 años
Puntos: 7
Respuesta: consulta sql

claro que tienes que crear un campo autoincremental para tu identificador,si no no va a hacer ningun insert o al menos que como te sugieren que indiques los nombres de los campos dentro de tu insert excepto el campo autoincremental y luego los values
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:13.