Error en INNER

24/11/2006 - 12:17 por Angel Zapata | Informe spam
Hola a todos
tengo esta consulta que la ejecuto desde un desencadenador
Alter TRIGGER dsAlmacenEntrada ON dbo.AlmacenEntradaDetalle

FOR INSERT

AS

BEGIN

UPDATE AlmacenExistencias INNER JOIN (dbo.AlmacenEntradaDetalle INNER JOIN
dbo.AlmacenEntrada ON dbo.AlmacenEntradaDetalle.EntradaNumero dbo.AlmacenEntrada.EntradaNumero)

ON (dbo.AlmacenExistencias.ArticuloCodigo dbo.AlmacenEntradaDetalle.EntradaArticulo) AND
(dbo.AlmacenExistencias.AlmacenCodigo = dbo.AlmacenEntrada.EntradaAlmacen)

SET dbo.AlmacenExistencias.ExistenciasTotal [ExistenciasTotal]+[EntradaCantidad]

WHERE dbo.AlmacenEntradaDetalle.EntradaNumero IN (SELECT
dbo.AlmacenEntradaDetalle.EntradaNumero FROM Inserted)

END

Al guardar me indica un error cerca de INNER pero no encuentro el motivo,
¿alguna ayuda?

Muchas gracias de antemano
Angel Zapata
"Si no sabes hacia adonde vas, lo mas probable es que no llegues a ninguna
parte"

Preguntas similare

Leer las respuestas

#1 Maxi
24/11/2006 - 13:07 | Informe spam
Hola Angel, el problema esta en la tabla derivada

INNER JOIN (dbo.AlmacenEntradaDetalle INNER JOIN
dbo.AlmacenEntrada ON dbo.AlmacenEntradaDetalle.EntradaNumero dbo.AlmacenEntrada.EntradaNumero)


esto asi no es valido, debes usar:

INNER JOIN (select * from dbo.AlmacenEntradaDetalle INNER JOIN
dbo.AlmacenEntrada ON dbo.AlmacenEntradaDetalle.EntradaNumero dbo.AlmacenEntrada.EntradaNumero)



Salu2

Microsoft MVP SQL Server
Culminis Speaker
INETA Speaker

"Angel Zapata" <a n g e l . z a p a t a @ s i g l h o g a r x x i . c o m>
escribió en el mensaje news:
Hola a todos
tengo esta consulta que la ejecuto desde un desencadenador
Alter TRIGGER dsAlmacenEntrada ON dbo.AlmacenEntradaDetalle

FOR INSERT

AS

BEGIN

UPDATE AlmacenExistencias INNER JOIN (dbo.AlmacenEntradaDetalle INNER JOIN
dbo.AlmacenEntrada ON dbo.AlmacenEntradaDetalle.EntradaNumero > dbo.AlmacenEntrada.EntradaNumero)

ON (dbo.AlmacenExistencias.ArticuloCodigo > dbo.AlmacenEntradaDetalle.EntradaArticulo) AND
(dbo.AlmacenExistencias.AlmacenCodigo = dbo.AlmacenEntrada.EntradaAlmacen)

SET dbo.AlmacenExistencias.ExistenciasTotal > [ExistenciasTotal]+[EntradaCantidad]

WHERE dbo.AlmacenEntradaDetalle.EntradaNumero IN (SELECT
dbo.AlmacenEntradaDetalle.EntradaNumero FROM Inserted)

END

Al guardar me indica un error cerca de INNER pero no encuentro el motivo,
¿alguna ayuda?

Muchas gracias de antemano
Angel Zapata
"Si no sabes hacia adonde vas, lo mas probable es que no llegues a ninguna
parte"


Respuesta Responder a este mensaje
#2 Angel Zapata
24/11/2006 - 13:41 | Informe spam
Hola Maxi, sigo igual, ademas ahora me indica que tambien hay un error en la
palabra clave ON

Me estoy perdiendo, lo siento pero no se donde está el fallo

Un saludo
Angel Zapata


"Maxi" escribió en el mensaje
news:%
Hola Angel, el problema esta en la tabla derivada

INNER JOIN (dbo.AlmacenEntradaDetalle INNER JOIN
dbo.AlmacenEntrada ON dbo.AlmacenEntradaDetalle.EntradaNumero > dbo.AlmacenEntrada.EntradaNumero)


esto asi no es valido, debes usar:

INNER JOIN (select * from dbo.AlmacenEntradaDetalle INNER JOIN
dbo.AlmacenEntrada ON dbo.AlmacenEntradaDetalle.EntradaNumero > dbo.AlmacenEntrada.EntradaNumero)



Salu2

Microsoft MVP SQL Server
Culminis Speaker
INETA Speaker

"Angel Zapata" <a n g e l . z a p a t a @ s i g l h o g a r x x i . c o m>
escribió en el mensaje news:
> Hola a todos
> tengo esta consulta que la ejecuto desde un desencadenador
> Alter TRIGGER dsAlmacenEntrada ON dbo.AlmacenEntradaDetalle
>
> FOR INSERT
>
> AS
>
> BEGIN
>
> UPDATE AlmacenExistencias INNER JOIN (dbo.AlmacenEntradaDetalle INNER


JOIN
> dbo.AlmacenEntrada ON dbo.AlmacenEntradaDetalle.EntradaNumero > > dbo.AlmacenEntrada.EntradaNumero)
>
> ON (dbo.AlmacenExistencias.ArticuloCodigo > > dbo.AlmacenEntradaDetalle.EntradaArticulo) AND
> (dbo.AlmacenExistencias.AlmacenCodigo dbo.AlmacenEntrada.EntradaAlmacen)
>
> SET dbo.AlmacenExistencias.ExistenciasTotal > > [ExistenciasTotal]+[EntradaCantidad]
>
> WHERE dbo.AlmacenEntradaDetalle.EntradaNumero IN (SELECT
> dbo.AlmacenEntradaDetalle.EntradaNumero FROM Inserted)
>
> END
>
> Al guardar me indica un error cerca de INNER pero no encuentro el


motivo,
> ¿alguna ayuda?
>
> Muchas gracias de antemano
> Angel Zapata
> "Si no sabes hacia adonde vas, lo mas probable es que no llegues a


ninguna
> parte"
>
>


Respuesta Responder a este mensaje
#3 Alejandro Mesa
24/11/2006 - 14:15 | Informe spam
Angel,

Para usar joins, debes especificar la clausula "from".

Alter TRIGGER dsAlmacenEntrada ON dbo.AlmacenEntradaDetalle
FOR INSERT
AS

UPDATE
dbo.AlmacenExistencias
SET
dbo.AlmacenExistencias.ExistenciasTotal =
[ExistenciasTotal]+[EntradaCantidad]
FROM
dbo.AlmacenExistencias
INNER JOIN
(
dbo.AlmacenEntradaDetalle
INNER JOIN
dbo.AlmacenEntrada
ON dbo.AlmacenEntradaDetalle.EntradaNumero = dbo.AlmacenEntrada.EntradaNumero
)
ON
dbo.AlmacenExistencias.ArticuloCodigo =
dbo.AlmacenEntradaDetalle.EntradaArticulo
AND dbo.AlmacenExistencias.AlmacenCodigo = dbo.AlmacenEntrada.EntradaAlmacen
WHERE
dbo.AlmacenEntradaDetalle.EntradaNumero IN (
SELECT dbo.AlmacenEntradaDetalle.EntradaNumero
FROM Inserted
)
GO


AMB

"Angel Zapata" wrote:

Hola a todos
tengo esta consulta que la ejecuto desde un desencadenador
Alter TRIGGER dsAlmacenEntrada ON dbo.AlmacenEntradaDetalle

FOR INSERT

AS

BEGIN

UPDATE AlmacenExistencias INNER JOIN (dbo.AlmacenEntradaDetalle INNER JOIN
dbo.AlmacenEntrada ON dbo.AlmacenEntradaDetalle.EntradaNumero > dbo.AlmacenEntrada.EntradaNumero)

ON (dbo.AlmacenExistencias.ArticuloCodigo > dbo.AlmacenEntradaDetalle.EntradaArticulo) AND
(dbo.AlmacenExistencias.AlmacenCodigo = dbo.AlmacenEntrada.EntradaAlmacen)

SET dbo.AlmacenExistencias.ExistenciasTotal > [ExistenciasTotal]+[EntradaCantidad]

WHERE dbo.AlmacenEntradaDetalle.EntradaNumero IN (SELECT
dbo.AlmacenEntradaDetalle.EntradaNumero FROM Inserted)

END

Al guardar me indica un error cerca de INNER pero no encuentro el motivo,
¿alguna ayuda?

Muchas gracias de antemano
Angel Zapata
"Si no sabes hacia adonde vas, lo mas probable es que no llegues a ninguna
parte"



Respuesta Responder a este mensaje
#4 Javier Loria
24/11/2006 - 14:50 | Informe spam
Hola Angel:
Podria ser asi?:
¾GIN
UPDATE AlmacenExistencias
SET dbo.AlmacenExistencias.ExistenciasTotal [ExistenciasTotal]+[EntradaCantidad]
FROM AlmacenExistencias
INNER JOIN (SELECT <<Poner Columnas Aqui>>
FROM dbo.AlmacenEntradaDetalle
INNER JOIN dbo.AlmacenEntrada
ON dbo.AlmacenEntradaDetalle.EntradaNumero =
dbo.AlmacenEntrada.EntradaNumero)
ON (dbo.AlmacenExistencias.ArticuloCodigo =
dbo.AlmacenEntradaDetalle.EntradaArticulo)
AND (dbo.AlmacenExistencias.AlmacenCodigo =
dbo.AlmacenEntrada.EntradaAlmacen)
WHERE dbo.AlmacenEntradaDetalle.EntradaNumero IN (SELECT * FROM
dbo.AlmacenEntradaDetalle.EntradaNumero FROM Inserted)
END
= Saludos,

Javier Loria
Costa Rica-MVP
Solid Quality Learning

"Angel Zapata" <a n g e l . z a p a t a @ s i g l h o g a r x x i . c o m>
wrote in message news:
Hola a todos
tengo esta consulta que la ejecuto desde un desencadenador
Alter TRIGGER dsAlmacenEntrada ON dbo.AlmacenEntradaDetalle

FOR INSERT

AS

BEGIN

UPDATE AlmacenExistencias INNER JOIN (dbo.AlmacenEntradaDetalle INNER JOIN
dbo.AlmacenEntrada ON dbo.AlmacenEntradaDetalle.EntradaNumero > dbo.AlmacenEntrada.EntradaNumero)

ON (dbo.AlmacenExistencias.ArticuloCodigo > dbo.AlmacenEntradaDetalle.EntradaArticulo) AND
(dbo.AlmacenExistencias.AlmacenCodigo = dbo.AlmacenEntrada.EntradaAlmacen)

SET dbo.AlmacenExistencias.ExistenciasTotal > [ExistenciasTotal]+[EntradaCantidad]

WHERE dbo.AlmacenEntradaDetalle.EntradaNumero IN (SELECT
dbo.AlmacenEntradaDetalle.EntradaNumero FROM Inserted)

END

Al guardar me indica un error cerca de INNER pero no encuentro el motivo,
¿alguna ayuda?

Muchas gracias de antemano
Angel Zapata
"Si no sabes hacia adonde vas, lo mas probable es que no llegues a ninguna
parte"


Respuesta Responder a este mensaje
#5 Angel Zapata
24/11/2006 - 17:32 | Informe spam
No lo consigo, me declaro incapaz de hacerlo.

No se si lo que quiero hacer es imposible o bien no he entendido algun
concepto, pero no puedo hacerlo

Pregunto: Si en la tabla de detalle de la entrada guardo el campo almacen
será mas facil? y así no tener que buscar en dos tablas para saber el
registro que necesito actualizar?

Por favor una ayuda, ya que creo que el uso de trigger me puede simplificar
mucho la programación.

Gracias


Angel Zapata
"Si no sabes hacia adonde vas, lo mas probable es que no llegues a ninguna
parte"
"Javier Loria" escribió en el mensaje
news:OjTzW%
Hola Angel:
Podria ser asi?:
=> BEGIN
UPDATE AlmacenExistencias
SET dbo.AlmacenExistencias.ExistenciasTotal > [ExistenciasTotal]+[EntradaCantidad]
FROM AlmacenExistencias
INNER JOIN (SELECT <<Poner Columnas Aqui>>
FROM dbo.AlmacenEntradaDetalle
INNER JOIN dbo.AlmacenEntrada
ON dbo.AlmacenEntradaDetalle.EntradaNumero > dbo.AlmacenEntrada.EntradaNumero)
ON (dbo.AlmacenExistencias.ArticuloCodigo > dbo.AlmacenEntradaDetalle.EntradaArticulo)
AND (dbo.AlmacenExistencias.AlmacenCodigo > dbo.AlmacenEntrada.EntradaAlmacen)
WHERE dbo.AlmacenEntradaDetalle.EntradaNumero IN (SELECT * FROM
dbo.AlmacenEntradaDetalle.EntradaNumero FROM Inserted)
END
=> Saludos,

Javier Loria
Costa Rica-MVP
Solid Quality Learning

"Angel Zapata" <a n g e l . z a p a t a @ s i g l h o g a r x x i . c o m>
wrote in message news:
> Hola a todos
> tengo esta consulta que la ejecuto desde un desencadenador
> Alter TRIGGER dsAlmacenEntrada ON dbo.AlmacenEntradaDetalle
>
> FOR INSERT
>
> AS
>
> BEGIN
>
> UPDATE AlmacenExistencias INNER JOIN (dbo.AlmacenEntradaDetalle INNER


JOIN
> dbo.AlmacenEntrada ON dbo.AlmacenEntradaDetalle.EntradaNumero > > dbo.AlmacenEntrada.EntradaNumero)
>
> ON (dbo.AlmacenExistencias.ArticuloCodigo > > dbo.AlmacenEntradaDetalle.EntradaArticulo) AND
> (dbo.AlmacenExistencias.AlmacenCodigo dbo.AlmacenEntrada.EntradaAlmacen)
>
> SET dbo.AlmacenExistencias.ExistenciasTotal > > [ExistenciasTotal]+[EntradaCantidad]
>
> WHERE dbo.AlmacenEntradaDetalle.EntradaNumero IN (SELECT
> dbo.AlmacenEntradaDetalle.EntradaNumero FROM Inserted)
>
> END
>
> Al guardar me indica un error cerca de INNER pero no encuentro el


motivo,
> ¿alguna ayuda?
>
> Muchas gracias de antemano
> Angel Zapata
> "Si no sabes hacia adonde vas, lo mas probable es que no llegues a


ninguna
> parte"
>
>


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