Consulta - Columna Index

06/07/2006 - 00:00 por Ricardo Uribe | Informe spam
Hola grupo, espero me puedan ayudar.



Tengo una consulta la cual proviene de

2 tablas, ahora quiero actualizar una

de ellas desde la consulta, cuando lo

intento me sale "Información de columna

clave insuficienteetc."



Entonces comencé a leer y me decía que

necesitaba crear un índice y para eso que mi

consulta tenia que tener ciertos requisitos

pues llegue hasta la parte de crear la vista con

SCHEMABINDING, pero cuando quiero

crear el índice me dice "No se puede crear índice

en la vista X. No tiene un índice

agrupado único."



Bueno busque mas información pero no he

podido encontrar nada mas.

Por lo mismo me atrevo a pedir su ayuda.



Muchas gracias

Preguntas similare

Leer las respuestas

#6 Jorge Gonzalez
06/07/2006 - 22:14 | Informe spam
Ricardo,

Hace tiempo que no programo, así que no te sé decir con certeza donde buscar
esta opción.
Pero recuerdo y alguna vez usé una opción de ADO donde al crear un recordset
que llega al cliente en modo ReadOnly, podías definir que fuera
actualizable. Creo que en Properties, no recuerdo si de la conxión o del
recordset mismo.

Consulta en el foro de programación.

Te deseo suerte con tu problema

saludos



"Ricardo Uribe" escribió en el mensaje
news:
Pues es desde una aplicacion en VB, tengo un modulo que carga cualquier
tabla o vista y le crea cajas de texto para cada columna, con opciones de
modificacion, eliminacion y insercion de filas.

Tienes razon, tambien he probado desde el Enterprise Manager y me
dejo actualizar.

Tendre que probar en la aplicacion y buscar que es lo que falta.

Muchas gracias por su tiempo.

"Jorge Gonzalez" escribió en el mensaje
news:
Estimado Ricardo,

No sé si fue por omisión pero los scripts que mandaste no incluyen llave
primaria en ninguna de las tablas. Aunque resulta obvio que la llave sea
el código.

Tenés razón en comentar que es suficiente con una sola llave primaria,
pero eso es en tu caso donde las 2 tablas tienen una llave primaria de 1
solo campo y es ese el campo que las une. Hay otros casos donde la
relación se da a través de campos que no son la llave primaria y es ahí
donde es requerido que las llaves de las 2 tablas estén presente en la
vista

He creado las tablas y la vista y he actualizado datos sin problemas en
la vista desde el query analizer y desde el Enterprise Manager.
Definitivamente no es posible insertar datos en la vista debido a su
propia definición, pero la actualización la he logrado sin problemas.

El problema te resulta desde una aplicación cliente? En tal caso hay que
ver el método de acceso que estás utilizando.


Saludos



"Ricardo Uribe" escribió en el mensaje
news:
Bueno explicando el porque, es porque en la
segunda tabla solo tengo los codigos de algunos

empleados que son Instaladores y no queria

poner esas columnas en la tabla de empleados.

Respondiendo a Jorge, no entiendo porque en

la vista tengo que poner las dos columnas principales

de cada tabla, supongo que poniendo una de ellas

es suficiente.

Gracias por su ayuda.

Seguire intentando. :-)

CREATE TABLE [dbo].[Empleado] (

[CodigoEmpleado] [smallint] NOT NULL ,

[Nombres] [nvarchar] (50) COLLATE Modern_Spanish_CI_AS NULL ,

[Apellidos] [nvarchar] (50) COLLATE Modern_Spanish_CI_AS NULL ,

) ON [PRIMARY]

CREATE TABLE [dbo].[PagoInstaladores] (

[CodigoInstalador] [smallint] NOT NULL ,

[PorHoraSoles] [float] NOT NULL ,

[PorHoraDolares] [float] NOT NULL

) ON [PRIMARY]



CREATE VIEW Instaladores

WITH SCHEMABINDING

AS

SELECT dbo.PagoInstaladores.CodigoInstalador AS Codigo,

dbo.Empleado.Nombres + ' ' + dbo.Empleado.Apellidos AS Nombres,

dbo.PagoInstaladores.PorHoraSoles AS [Por Hora S/],

dbo.PagoInstaladores.PorHoraDolares AS [Por Hora $]

FROM dbo.PagoInstaladores INNER JOIN dbo.Empleado ON

dbo.PagoInstaladores.CodigoInstalador = dbo.Empleado.CodigoEmpleado

"Jorge Gonzalez" escribió en el mensaje
news:
Con el permiso de qwalgrande,

Las vistas no son la mejor manera de actualizar datos, pero a veces son
una forma cómoda. Asi que adelante. Sin embargo las restricciones son
bastantes.

Un prerequisito indispensable es que la vista debe contener las llaves
primarias de ambas tablas. De no ser así, SQL SERVER no tendrá la
información suficiente "en la vista" para encontrar el registro a
actualizar "en la o las tablas" y realizar el UPDATE.

Revisá esto y nos contás. Es una posibilidad !!!!

Si no te funciona. tal vez podés mandar los scripts de creación de
las 2 tablas y de la vista y la analizamos.

Saludos

Jorge González


"Ricardo Uribe" escribió en el mensaje
news:
Hola grupo, espero me puedan ayudar.



Tengo una consulta la cual proviene de

2 tablas, ahora quiero actualizar una

de ellas desde la consulta, cuando lo

intento me sale "Información de columna

clave insuficienteetc."



Entonces comencé a leer y me decía que

necesitaba crear un índice y para eso que mi

consulta tenia que tener ciertos requisitos

pues llegue hasta la parte de crear la vista con

SCHEMABINDING, pero cuando quiero

crear el índice me dice "No se puede crear índice

en la vista X. No tiene un índice

agrupado único."



Bueno busque mas información pero no he

podido encontrar nada mas.

Por lo mismo me atrevo a pedir su ayuda.



Muchas gracias


























email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida