Ahora un Update que no funciona

03/02/2004 - 14:42 por Gustavo Morales | Informe spam
Update Persona
Set Persona.RUC = Cast(X.RUC As Char(11)),
Persona.Autogenerado = Cast(X.Autogenerado As Varchar(20)),
Persona.Cargo = Cast(X.Cargo As Varchar(30))
From Persona, Intermedio.dbo.Masculinos X
Where Persona.CUSSP = Cast(X.CUSSP As Char(20))

Esto resulta en este error:
Servidor: mensaje 446, nivel 16, estado 9, línea 1
No se puede resolver el conflicto de intercalación para el operador equal
to.

Preguntas similare

Leer las respuestas

#1 Maximiliano D. A.
03/02/2004 - 14:49 | Informe spam
Hola, el problema lo tienes en la union de las tablas, por eso te falla.

ahora por lo visto no son campos del mismo tipo unos y otros verdad?

ahi hay algo que esta muy mal, deberian ser del mismo tipo.

si son del mismo tipo no debes usar el Cast

Salu2

Maximiliano Damian Accotto


"Gustavo Morales" escribió en el mensaje
news:
Update Persona
Set Persona.RUC = Cast(X.RUC As Char(11)),
Persona.Autogenerado = Cast(X.Autogenerado As Varchar(20)),
Persona.Cargo = Cast(X.Cargo As Varchar(30))
From Persona, Intermedio.dbo.Masculinos X
Where Persona.CUSSP = Cast(X.CUSSP As Char(20))

Esto resulta en este error:
Servidor: mensaje 446, nivel 16, estado 9, línea 1
No se puede resolver el conflicto de intercalación para el operador equal
to.


Respuesta Responder a este mensaje
#2 Gustavo Morales
03/02/2004 - 15:00 | Informe spam
Lo que pasa es que la tabla origen (Base Intemedio) fue generada a partir de
un archivo plano.
Por eso que todos los campos son varchar(255)
Creo que debo hacerlo via DTS, no?

"Maximiliano D. A." <maxi_accotto[arroba]speedy[.]com[.]ar> escribió en el
mensaje news:O#
Hola, el problema lo tienes en la union de las tablas, por eso te falla.

ahora por lo visto no son campos del mismo tipo unos y otros verdad?

ahi hay algo que esta muy mal, deberian ser del mismo tipo.

si son del mismo tipo no debes usar el Cast

Salu2

Maximiliano Damian Accotto


"Gustavo Morales" escribió en el mensaje
news:
> Update Persona
> Set Persona.RUC = Cast(X.RUC As Char(11)),
> Persona.Autogenerado = Cast(X.Autogenerado As Varchar(20)),
> Persona.Cargo = Cast(X.Cargo As Varchar(30))
> From Persona, Intermedio.dbo.Masculinos X
> Where Persona.CUSSP = Cast(X.CUSSP As Char(20))
>
> Esto resulta en este error:
> Servidor: mensaje 446, nivel 16, estado 9, línea 1
> No se puede resolver el conflicto de intercalación para el operador


equal
> to.
>
>


Respuesta Responder a este mensaje
#3 Maximiliano D. A.
03/02/2004 - 15:06 | Informe spam
Y hay algo mal ahi, yo pondria que los campos sean iguales para las uniones
entre tablas

Salu2

Maximiliano Damian Accotto

"Gustavo Morales" escribió en el mensaje
news:%239X8$
Lo que pasa es que la tabla origen (Base Intemedio) fue generada a partir


de
un archivo plano.
Por eso que todos los campos son varchar(255)
Creo que debo hacerlo via DTS, no?

"Maximiliano D. A." <maxi_accotto[arroba]speedy[.]com[.]ar> escribió en el
mensaje news:O#
> Hola, el problema lo tienes en la union de las tablas, por eso te falla.
>
> ahora por lo visto no son campos del mismo tipo unos y otros verdad?
>
> ahi hay algo que esta muy mal, deberian ser del mismo tipo.
>
> si son del mismo tipo no debes usar el Cast
>
> Salu2
>
> Maximiliano Damian Accotto
>
>
> "Gustavo Morales" escribió en el mensaje
> news:
> > Update Persona
> > Set Persona.RUC = Cast(X.RUC As Char(11)),
> > Persona.Autogenerado = Cast(X.Autogenerado As Varchar(20)),
> > Persona.Cargo = Cast(X.Cargo As Varchar(30))
> > From Persona, Intermedio.dbo.Masculinos X
> > Where Persona.CUSSP = Cast(X.CUSSP As Char(20))
> >
> > Esto resulta en este error:
> > Servidor: mensaje 446, nivel 16, estado 9, línea 1
> > No se puede resolver el conflicto de intercalación para el operador
equal
> > to.
> >
> >
>
>


Respuesta Responder a este mensaje
#4 Juan Carlos Leguizamón
04/02/2004 - 05:05 | Informe spam
Hola, si mal no estoy puedes aclararle al sql que intercalacion debe usar,
por ejemplo creo que algo asi te deberia funcionar:

Update Persona
Set Persona.RUC = Cast(X.RUC As Char(11)),
Persona.Autogenerado = Cast(X.Autogenerado As Varchar(20)),
Persona.Cargo = Cast(X.Cargo As Varchar(30))
From Persona, Intermedio.dbo.Masculinos X
Where Persona.CUSSP = Cast(X.CUSSP As Char(20)) COLLATE Modern_Spanish_CI_AS


"Gustavo Morales" escribió en el mensaje
news:
Update Persona
Set Persona.RUC = Cast(X.RUC As Char(11)),
Persona.Autogenerado = Cast(X.Autogenerado As Varchar(20)),
Persona.Cargo = Cast(X.Cargo As Varchar(30))
From Persona, Intermedio.dbo.Masculinos X
Where Persona.CUSSP = Cast(X.CUSSP As Char(20))

Esto resulta en este error:
Servidor: mensaje 446, nivel 16, estado 9, línea 1
No se puede resolver el conflicto de intercalación para el operador equal
to.


Respuesta Responder a este mensaje
#5 Gustavo Morales
04/02/2004 - 05:33 | Informe spam
Gracias. Lo probare aunque en realidad ya transforme la data actualizada al
tipo de dato correcto y aun asi no funciona. Yo creia que era por el hecho
de estar ambas tablas en bases distintas pero no se.
Te aviso lo que suceda.


"Juan Carlos Leguizamón" escribió
en el mensaje news:
Hola, si mal no estoy puedes aclararle al sql que intercalacion debe usar,
por ejemplo creo que algo asi te deberia funcionar:

Update Persona
Set Persona.RUC = Cast(X.RUC As Char(11)),
Persona.Autogenerado = Cast(X.Autogenerado As Varchar(20)),
Persona.Cargo = Cast(X.Cargo As Varchar(30))
From Persona, Intermedio.dbo.Masculinos X
Where Persona.CUSSP = Cast(X.CUSSP As Char(20)) COLLATE


Modern_Spanish_CI_AS


"Gustavo Morales" escribió en el mensaje
news:
> Update Persona
> Set Persona.RUC = Cast(X.RUC As Char(11)),
> Persona.Autogenerado = Cast(X.Autogenerado As Varchar(20)),
> Persona.Cargo = Cast(X.Cargo As Varchar(30))
> From Persona, Intermedio.dbo.Masculinos X
> Where Persona.CUSSP = Cast(X.CUSSP As Char(20))
>
> Esto resulta en este error:
> Servidor: mensaje 446, nivel 16, estado 9, línea 1
> No se puede resolver el conflicto de intercalación para el operador


equal
> to.
>
>


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