Home Forums SQL Server 2008 T-SQL (SS2K8) Logic problem in "SET [Quantity_Remaining] = [Quantity_Remaining] - 1" RE: Logic problem in "SET [Quantity_Remaining] = [Quantity_Remaining] - 1"

  • Gave this a try to no avail:

    USE [TrackIT]

    GO

    CREATE TRIGGER [dbo].[trDecrementBulkPurchases]

    ON [dbo].[tblTransactions]

    AFTER INSERT

    AS

    BEGIN

    UPDATE [TrackIT].[dbo].[tblBulkPurchases]

    SET [Quantity_Remaining] = [Quantity_Remaining] - 1

    WHERE Transaction_Type = 'From Bulk Assignment' AND

    [tblBulkPurchases].[PO_Number] IN (SELECT [PO_Number] FROM [tblTransactions])

    END

    GO

    Here are my DDL of Tables:

    USE [TrackIT]

    GO

    SET ANSI_NULLS ON

    GO

    SET QUOTED_IDENTIFIER ON

    GO

    SET ANSI_PADDING ON

    GO

    CREATE TABLE [dbo].[tblTransactions](

    [PO_Number] [varchar](50) NULL,

    [Buyer_Initial] [varchar](50) NULL,

    [Software_ID] [varchar](50) NULL,

    [Quantity] [int] NULL,

    [Unit_Price] [money] NULL,

    [Software_Description] [varchar](100) NULL,

    [AllocationAccount] [varchar](50) NULL,

    [PurchaseAccount] [varchar](50) NULL,

    [HeatTicketNumber] [varchar](50) NULL,

    [PurchaseCostCenter] [varchar](25) NULL,

    [PO_Date] [date] NULL,

    [Transaction_Date] [date] NULL,

    [Transaction_Number] [int] NOT NULL,

    [AllocationDate] [date] NULL,

    [AllocatedYN] [varchar](10) NULL,

    [Emp_ID] [varchar](50) NULL,

    [EndUserFirstName] [varchar](100) NULL,

    [EndUserMiddleName] [varchar](100) NULL,

    [EndUserLastName] [varchar](100) NULL,

    [Cost_Center] [varchar](50) NULL,

    [LAN_ID] [varchar](50) NULL,

    [EndUserLocation] [varchar](100) NULL,

    [TermDate] [date] NULL,

    [EmployeeStatus] [varchar](50) NULL,

    [UserCostCenter] [varchar](25) NULL,

    [TransferFrom] [varchar](100) NULL,

    [TransferTo] [varchar](100) NULL,

    [Equipment_Type] [varchar](50) NULL,

    [Notes] [varchar](255) NULL,

    [License_Available] [varchar](50) NULL,

    [Transaction_Type] [varchar](50) NULL,

    [NextRenewalDate] [date] NULL,

    [Last_Renewal_Date] [date] NULL,

    [LastRenewalPO] [varchar](50) NULL,

    [Quantity_Remaining] [int] NULL,

    CONSTRAINT [PK_dbo.tblTransactions] PRIMARY KEY CLUSTERED

    (

    [Transaction_Number] ASC

    )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]

    ) ON [PRIMARY]

    GO

    SET ANSI_PADDING OFF

    GO

    USE [TrackIT]

    GO

    SET ANSI_NULLS ON

    GO

    SET QUOTED_IDENTIFIER ON

    GO

    SET ANSI_PADDING ON

    GO

    CREATE TABLE [dbo].[tblBulkPurchases](

    [PO_Number] [varchar](50) NOT NULL,

    [Buyer_Initial] [varchar](50) NULL,

    [Software_ID] [varchar](50) NULL,

    [Quantity] [int] NULL,

    [Quantity_Remaining] [int] NULL,

    [Unit_Price] [money] NULL,

    [Software_Description] [varchar](100) NULL,

    [AllocationAccount] [varchar](50) NULL,

    [PurchaseAccount] [varchar](50) NULL,

    [HeatTicketNumber] [varchar](50) NULL,

    [PurchaseCostCenter] [varchar](25) NULL,

    [PO_Date] [date] NULL,

    [Transaction_Date] [date] NULL,

    [Transaction_Number] [int] NOT NULL,

    [Transaction_Type] [varchar](50) NULL,

    CONSTRAINT [PK_dbo.tblBulkPurchases] PRIMARY KEY CLUSTERED

    (

    [PO_Number] ASC

    )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]

    ) ON [PRIMARY]

    GO

    SET ANSI_PADDING OFF

    GO