Olá!,
I am que tem o problema introduzir em uma tabela using um disparador. A coisa estranha é que era trabalhar atrasado na semana passada. A única coisa que eu adicionei era um índice à tabela em InvoiceNumber e LineItemNo_Int.
If eu incapacito o disparador, os dados é introduzido. Quando eu permito o disparador, eu começ um erro:
Msg 8114, nível 16, estado 5, trig_InvoiceLinesInsertCheck do procedimento, linha 27 Error que converte o tipo de dados varchar a numeric.
Table Def: TABELA do CREATE [dbo]. [InvoiceLines] (IDENTIDADE do [InvoiceLinesID] [int] (1.1) NAO NULOS, [InvoiceNumber] [varchar] (100) ORDENAR O ZERO de SQL_Latin1_General_CP1_CI_AS, o [CustomerNo] [varchar] (100) ORDENAR O ZERO de SQL_Latin1_General_CP1_CI_AS, o [LineItemNo] [varchar] (100) ORDENAR O ZERO de SQL_Latin1_General_CP1_CI_AS, o [LineItemNo_Int] [int] o ZERO, o [PartNo] [varchar] (100) ORDENAR O ZERO de SQL_Latin1_General_CP1_CI_AS, o [CustomerPartNo] [varchar] (100) ORDENAR O ZERO de SQL_Latin1_General_CP1_CI_AS, o [quantidade] [varchar] (100) ORDENAR O ZERO de SQL_Latin1_General_CP1_CI_AS, o [UnitOfMeasure] [varchar] (100) ORDENAR O ZERO de SQL_Latin1_General_CP1_CI_AS, o [UnitPrice] [varchar] (100) ORDENAR O ZERO de SQL_Latin1_General_CP1_CI_AS, o [disconto] [varchar] (100) ORDENAR O ZERO de SQL_Latin1_General_CP1_CI_AS, o [VAT_Tax] [varchar] (100) ORDENAR O ZERO de SQL_Latin1_General_CP1_CI_AS, o [PONumber] [varchar] (100) ORDENAR O ZERO de SQL_Latin1_General_CP1_CI_AS, o [PODate] [varchar] (100) ORDENAR O ZERO de SQL_Latin1_General_CP1_CI_AS, o [OrderNumber] [varchar] (100) ORDENAR O ZERO de SQL_Latin1_General_CP1_CI_AS, [PackingSlip] [varchar] (100) ORDENA O ZERO de SQL_Latin1_General_CP1_CI_AS, o [PlantNumber] [varchar] (100) ORDENAR O ZERO de SQL_Latin1_General_CP1_CI_AS, o [DepartmentNumber] [varchar] (100) ORDENAR O ZERO de SQL_Latin1_General_CP1_CI_AS, o [AccountNumber] [varchar] (100) ORDENAR O ZERO de SQL_Latin1_General_CP1_CI_AS, o [CompanyWarehouse] [varchar] (100) ORDENAR O ZERO de SQL_Latin1_General_CP1_CI_AS, o [SalesOrderCarrier] [varchar] (100) ORDENAR O ZERO de SQL_Latin1_General_CP1_CI_AS, o [LineItemPONumber] [varchar] (100) ORDENAR O ZERO de SQL_Latin1_General_CP1_CI_AS, o [LineItemReleaseNumber] [varchar] (100) ORDENAR O ZERO de SQL_Latin1_General_CP1_CI_AS, o [MKPositionNumber] [varchar] (100) ORDENAR O ZERO de SQL_Latin1_General_CP1_CI_AS, o [TrackingNumber] [varchar] (100) ORDENAR O ZERO de SQL_Latin1_General_CP1_CI_AS, o [InvoiceFormat] [varchar] (100) ORDENAR SQL_Latin1_General_CP1_CI_AS NULL ) no
Trigger Def: DISPARADOR do
alter [dbo]. [trig_InvoiceLinesInsertCheck] SOBRE [dbo]. O [de InvoiceLines] EM VEZ do on do nocount do AS BEGIN da INSERÇÃO DECLARA do @InvoiceNumber (os 100) declara do @OrderNumber (os 100) declara que do @PositionNumber (os 100) DECLARA @InvoiceFormat ajustados varchar do do @InvoiceFormat (100) = (InvoiceFormat seleto do INTRODUZIDO) o se @InvoiceFormat = '@InvoiceNumber AJUSTADO novo do Br/> BEGIN do Format'< = (InvoiceNumber seleto do INTRODUZIDO) @OrderNumber ajustado do = (OrderNumber seleto do INTRODUZIDO) @PositionNumber ajustado do = (LineItemNo seleto do INTRODUZIDO) o
SE EXISTE (selecionar * de InvoiceLines onde InvoiceNumber = @InvoiceNumber e OrderNumber = @OrderNumber e LineItemNo = supressão do BEGIN do @PositionNumber) de InvoiceLines onde InvoiceNumber = o @InvoiceNumber e OrderNumber = o @OrderNumber e LineItemNo = a inserção do @PositionNumber END END no de InvoiceLines (InvoiceNumber, CustomerNo, LineItemNo, LineItemNo_Int, PartNo, CustomerPartNo, Quantity, UnitOfMeasure, UnitPrice, disconto, VAT_Tax, PONumber, PODate, OrderNumber, PackingSlip, PlantNumber, DepartmentNumber, AccountNumber, CompanyWarehouse, SalesOrderCarrier, LineItemPONumber, LineItemReleaseNumber, MKPositionNumber, TrackingNumber, InvoiceFormat) selecionam o InvoiceNumber, CustomerNo, LineItemNo, LineItemNo_Int, PartNo, CustomerPartNo, Quantity, UnitOfMeasure, UnitPrice, Discount, VAT_Tax, PONumber, PODate, OrderNumber, PackingSlip, PlantNumber, DepartmentNumber, AccountNumber, CompanyWarehouse, SalesOrderCarrier, LineItemPONumber, LineItemReleaseNumber, MKPositionNumber, TrackingNumber, InvoiceFormat da pergunta INTRODUZIDA do END
Insert:
insert no values de InvoiceLines (quantidade do InvoiceNumber, do CustomerNo, do LineItemNo, do LineItemNo_Int, do PartNo, do CustomerPartNo, do , disconto do UnitOfMeasure, do UnitPrice, do , VAT_Tax, PONumber, PODate, OrderNumber, PackingSlip, PlantNumber, DepartmentNumber, AccountNumber, CompanyWarehouse, SalesOrderCarrier, LineItemPONumber, LineItemReleaseNumber, MKPositionNumber, TrackingNumber, InvoiceFormat ) ( “31775ABC”, “013608”, “20”, 20, “TESTPART”, “TESTPART2”, “2”, '', “26.70”, '', '', “166TEST”, '', “31TEST”, '', '', '', '', '', Br novo/>) “de UPAC”, de '', de '', de de '', do Format'< do de “TESTTRACKINGNUM”, '
class= do
|