Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 29-04-2008
wildnetboy wildnetboy is offline
Miembro
 
Registrado: feb 2005
Ubicación: Tj. BC, Mexico
Posts: 13
Poder: 0
wildnetboy Va por buen camino
Exclamation Update con 2 tablas diferentes

Hola espero que esten bien, felipes y contennis....

Bueno pues aca estoy con una duda, estoy realizando el clasico sistemita de inventarios en SQL server 2000, tengo 2 tablas una de detalles, que es la que lleva los detalles de las ventas y una de productos, que es el inventario total en la tienda.
La idea es que cuando inserto el registro en la tabla de detalles esta va a la tabla de productos y descuenta las unidades salidas.
Ahora he creado un trigger en la tabla detalles con la siguiente informacion:

Código SQL [-]
CREATE TRIGGER [Descuenta_Productos] ON [dbo].[Detalles] 
FOR INSERT
AS
UPDATE Productos SET Productos.Unidades = Productos.Unidades-Inserted.Unidades
WHERE Productos.Codigo=Inserted.Codigo

Pero me dice que la tabla inserted no existe, e intentado cambiando el nombre de la tabla de inserted por Detalles cuando hago esto dice: la tabla detalles no existe.

ahora he intentado tambien hacer esto

Código SQL [-]
CREATE TRIGGER [Descuenta_Productos] ON [dbo].[Detalles] 
FOR INSERT
AS
UPDATE Productos SET Productos.Unidades = Productos.Unidades-(SELECT Unidades 
FROM Inserted WHERE Productos.Codigo=Inserted.Codigo)

Pero me manda puros valores nulos, ya le estuve buscando por muchas partes y nada, a ver si alguien me ayuda muchisimo, diciendo como hacerle.

De antemano muchas gracias a todos por molestarse en leer este post

Última edición por dec fecha: 29-04-2008 a las 10:39:35.
Responder Con Cita
  #2  
Antiguo 29-04-2008
Avatar de poliburro
[poliburro] poliburro is offline
Miembro Premium
 
Registrado: ago 2004
Ubicación: México D.F
Posts: 3.068
Poder: 23
poliburro Va por buen camino
compañero te hace falta la definición de los alias para los valores previos y posteriores. Si inserted es el alias del nuevo valor, te hace falta su definición en el encabezado del triger.
__________________
Conoce mi blog http://www.edgartec.com
Responder Con Cita
  #3  
Antiguo 29-04-2008
wildnetboy wildnetboy is offline
Miembro
 
Registrado: feb 2005
Ubicación: Tj. BC, Mexico
Posts: 13
Poder: 0
wildnetboy Va por buen camino
Disculpa, pero soy muy nuevo y aun ando experimentando, a ver si me pudieras explicar como hago eso de lo de la definicion de alias en el encabezado del trigger o si pudieras postear el codigo seria exelente, de todas maneras muchas gracias por interesarte.
Responder Con Cita
  #4  
Antiguo 30-04-2008
wildnetboy wildnetboy is offline
Miembro
 
Registrado: feb 2005
Ubicación: Tj. BC, Mexico
Posts: 13
Poder: 0
wildnetboy Va por buen camino
Resuelto

Bueno pues ya lo tengo a ver que opinan, pero como digo aun soy nuevo y en muchas paginas que busque no me dicen nada de la clusula from en una sentencia update y ya lo resolvi de todas maneras muchas gracias por su ayuda.
El codigo queda de esta manera

Código SQL [-]
CREATE TRIGGER [Descuenta_Productos] ON [dbo].[Detalles] 
FOR INSERT
AS
UPDATE Productos SET Productos.Unidades = Productos.Unidades-Inserted.Unidades FROM Productos, Inserted where Productos.codigo = Inserted.Codigo
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Como Grabar Campos En Tablas Diferentes EdgarJ .NET 0 13-02-2008 00:30:14
Guardar Registros en diferentes tablas Darlingkarina SQL 4 12-07-2006 01:43:30
ALmacenar Un Campo En 3 tablas diferentes (VIH)Lestat Conexión con bases de datos 18 26-06-2005 02:22:42
Como buscar en diferentes tablas?? Sasuke_Cub Conexión con bases de datos 3 20-06-2005 10:40:19
cómo hacer un listado de 2 tablas diferentes acrophet Impresión 15 21-04-2004 21:43:44


La franja horaria es GMT +2. Ahora son las 13:57:38.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi