FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
||||
|
||||
Informacion de columna clave insuficiente para realizar la operacion update o refresh
Hola amigos, este es el error que me salta al hacer una actualización de una tupla y sus tuplas relacionadas en otras tablas en mis BBDD.
Informacion de columna clave insuficiente para realizar la operacion update o refresh He leido que puede ser producido por no tener bien realizada la relación entre tablas, pero en mi caso si lo tengo bien relacionado, ya que la tabla principal goza de C.Principal y la tabla esclava con su clave ajena y principal, y es como se relacionan mediante el INNER JOIN. Pongo el ejemplo:
No he encontrado por el momento el bug de la cuestión, pero si alguien mientras lo busco me puede aportar luz, se lo agradecería. Trabajo con componentes ADO y SQL Server. Gracias
__________________
El meu país és tan petit, que des de dalt d'un campanar es pot veure el campanar veí. |
#2
|
||||
|
||||
¿Estás intentando hacer un UPDATE sobre el resultado de esa consulta?
Si es así, el problema es que esa consulta tiene varias tablas relacionadas y el Gestor no sabe qué debe actualizar...
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#3
|
||||
|
||||
Necesitas un primary key, o alguna columna que identifique de forma unica el registro en cada tabla. Ese error se produce cuando hay dos filas identicas, y el sql server no sabe, con el updatecommand, cual fila actualizar.
Tambien tiene que ver cuando haces joins entre tablas, y el resultado no puede ser actualizable.
__________________
Héctor Geraldino Software Engineer |
#4
|
||||
|
||||
Gracias a los dos. No he contestado antes porque estaba de días libres en la oficina.
En el primer caso "Neftalí" : Cita:
Y no es expresamente un UPDATE lo que intento si no un UpdateBatch(), aunque internamente supongo que será lo mismo. En el segundo caso "hector" Después de comprobar como veo en la contestación de Neftalí, que tengo las claves de todas la tablas relacionadas, me quedo por saber : Cita:
Yo no les he incluido ninguna restricción, Sigo investigando y buscando la solución.
__________________
El meu país és tan petit, que des de dalt d'un campanar es pot veure el campanar veí. Última edición por Cabanyaler fecha: 17-04-2007 a las 10:59:53. |
#5
|
|||
|
|||
Buenas.
Explico mi experiencia que tiene algo que ver con esto. En SQLServer 7.0, para que te deje actualizar una tabla desde una vista (consulta pura y dura), dicha vista tiene que ser limpita sobre la tabla .Sin joins ni unions ni leches. Que yo sepa el bayarri de SQLServer no deja actualizar tablas desde vistas con más de una tabla. Y me da ese error precisamente.
__________________
_____________________________________ And follow me to where the real fun is |
#6
|
||||
|
||||
En referencia a Nelet:
Aleshores, ¿que fem? ¿Entonces que hacemos? Precisamente el error me aparece desde que incluí los campos que deseaba obtener de la segunda tabla en la misma consulta, es decir cuando cambié :
Por esto otro que incluye campos de la tabla cliente en el SELECT
y el motivo de esta inclusión es por desear ordenar la consulta por campos de la tabla relacionada "Clientes", ya que si no los incluyo en el SELECT, la actualización funciona o funcionaba bien. No obstante sigo investigando hasta que no dé con la solución.
__________________
El meu país és tan petit, que des de dalt d'un campanar es pot veure el campanar veí. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Espacio de almacenamiento insuficiente para completar esta operación | Aldo | OOP | 1 | 13-02-2007 14:57:08 |
informacion de columna clave insuficiente | vipernet | MS SQL Server | 6 | 07-09-2006 20:26:40 |
Espacio insuficiente para completar la operación | aig | .NET | 3 | 06-10-2004 13:25:47 |
superADO en busca del Espacio insuficiente para completar la operación | aig | Conexión con bases de datos | 4 | 01-10-2004 18:03:02 |
Insuficiente memoria para esta operacion, Alias:dbSPI | orfeo | Conexión con bases de datos | 3 | 17-02-2004 03:25:32 |
|