Ciao,
I che ha difficoltà inserire in una tabella using un innesco. La cosa bizzarra è che era la settimana scorsa funzionare ritardato. L'unica cosa che ho aggiunto era un indice alla tabella su InvoiceNumber e LineItemNo_Int.
If rendo invalido l'innesco, i dati è inserito. Quando permetto all'innesco, ottengo un errore:
Msg 8114, Livello 16, condizione 5, trig_InvoiceLinesInsertCheck, linea 27 Error di procedura che converte il tipo di dati varchar in numeric.
Table Def: TABELLA del CREATE [dbo]. [InvoiceLines] (IDENTITÀ del [InvoiceLinesID] [int] (1.1) NULLO, [InvoiceNumber] [varchar] (100) FASCICOLARE LA POSIZIONE DI SEGNALE MINIMO di SQL_Latin1_General_CP1_CI_AS, il [CustomerNo] [varchar] (100) FASCICOLARE LA POSIZIONE DI SEGNALE MINIMO di SQL_Latin1_General_CP1_CI_AS, il [LineItemNo] [varchar] (100) FASCICOLARE LA POSIZIONE DI SEGNALE MINIMO di SQL_Latin1_General_CP1_CI_AS, il [LineItemNo_Int] [int] POSIZIONE DI SEGNALE MINIMO, [PartNo] [varchar] (100) FASCICOLARE LA POSIZIONE DI SEGNALE MINIMO di SQL_Latin1_General_CP1_CI_AS, il [CustomerPartNo] [varchar] (100) FASCICOLARE LA POSIZIONE DI SEGNALE MINIMO di SQL_Latin1_General_CP1_CI_AS, il [quantità] [varchar] (100) FASCICOLARE LA POSIZIONE DI SEGNALE MINIMO di SQL_Latin1_General_CP1_CI_AS, il [UnitOfMeasure] [varchar] (100) FASCICOLARE LA POSIZIONE DI SEGNALE MINIMO di SQL_Latin1_General_CP1_CI_AS, il [UnitPrice] [varchar] (100) FASCICOLARE LA POSIZIONE DI SEGNALE MINIMO di SQL_Latin1_General_CP1_CI_AS, il [sconto] [varchar] (100) FASCICOLARE LA POSIZIONE DI SEGNALE MINIMO di SQL_Latin1_General_CP1_CI_AS, il [VAT_Tax] [varchar] (100) FASCICOLARE LA POSIZIONE DI SEGNALE MINIMO di SQL_Latin1_General_CP1_CI_AS, il [PONumber] [varchar] (100) FASCICOLARE LA POSIZIONE DI SEGNALE MINIMO di SQL_Latin1_General_CP1_CI_AS, il [PODate] [varchar] (100) FASCICOLARE LA POSIZIONE DI SEGNALE MINIMO di SQL_Latin1_General_CP1_CI_AS, il [OrderNumber] [varchar] (100) FASCICOLARE LA POSIZIONE DI SEGNALE MINIMO di SQL_Latin1_General_CP1_CI_AS, il [PackingSlip] [varchar] (100) FASCICOLA LA POSIZIONE DI SEGNALE MINIMO di SQL_Latin1_General_CP1_CI_AS, il [PlantNumber] [varchar] (100) FASCICOLARE LA POSIZIONE DI SEGNALE MINIMO di SQL_Latin1_General_CP1_CI_AS, il [DepartmentNumber] [varchar] (100) FASCICOLARE LA POSIZIONE DI SEGNALE MINIMO di SQL_Latin1_General_CP1_CI_AS, il [AccountNumber] [varchar] (100) FASCICOLARE LA POSIZIONE DI SEGNALE MINIMO di SQL_Latin1_General_CP1_CI_AS, il [CompanyWarehouse] [varchar] (100) FASCICOLARE LA POSIZIONE DI SEGNALE MINIMO di SQL_Latin1_General_CP1_CI_AS, il [SalesOrderCarrier] [varchar] (100) FASCICOLARE LA POSIZIONE DI SEGNALE MINIMO di SQL_Latin1_General_CP1_CI_AS, il [LineItemPONumber] [varchar] (100) FASCICOLARE LA POSIZIONE DI SEGNALE MINIMO di SQL_Latin1_General_CP1_CI_AS, il [LineItemReleaseNumber] [varchar] (100) FASCICOLARE LA POSIZIONE DI SEGNALE MINIMO di SQL_Latin1_General_CP1_CI_AS, il [MKPositionNumber] [varchar] (100) FASCICOLARE LA POSIZIONE DI SEGNALE MINIMO di SQL_Latin1_General_CP1_CI_AS, il [TrackingNumber] [varchar] (100) FASCICOLARE LA POSIZIONE DI SEGNALE MINIMO di SQL_Latin1_General_CP1_CI_AS, il [InvoiceFormat] [varchar] (100) FASCICOLARE SQL_Latin1_General_CP1_CI_AS NULL ) su
Trigger Def: INNESCO del
alter [dbo]. [trig_InvoiceLinesInsertCheck] SOPRA [dbo]. Il [di InvoiceLines] ANZICHÉ il on del nocount del AS BEGIN dell'INSERTO DICHIARA del @InvoiceNumber (100) dichiara del @OrderNumber (100) dichiara che del @PositionNumber (100) DICHIARA @InvoiceFormat stabiliti varchar del del @InvoiceFormat (i 100) = (InvoiceFormat prescelto dall'INSERITO DA) se @InvoiceFormat = 'nuovo @InvoiceNumber STABILITO del Br/> BEGIN del Format'< = (InvoiceNumber prescelto dall'INSERITO DA) @OrderNumber stabilito del = (OrderNumber prescelto dall'INSERITO DA) @PositionNumber stabilito del = (LineItemNo prescelto dall'INSERITO DA)
SE ESISTE (selezionare * a partire da InvoiceLines dove InvoiceNumber = @InvoiceNumber e OrderNumber = @OrderNumber e LineItemNo = cancellazione del BEGIN del @PositionNumber) da InvoiceLines dove InvoiceNumber = il @InvoiceNumber e OrderNumber = il @OrderNumber e LineItemNo = l'inserto del @PositionNumber END END nel di InvoiceLines (InvoiceNumber, CustomerNo, LineItemNo, LineItemNo_Int, PartNo, CustomerPartNo, Quantity, UnitOfMeasure, UnitPrice, sconto, VAT_Tax, PONumber, PODate, OrderNumber, PackingSlip, PlantNumber, DepartmentNumber, AccountNumber, CompanyWarehouse, SalesOrderCarrier, LineItemPONumber, LineItemReleaseNumber, MKPositionNumber, TrackingNumber, InvoiceFormat) selezionano il 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 dalla domanda INSERITA del END
Insert:
insert nel values ( “31775ABC„ di InvoiceLines (quantità del InvoiceNumber, del CustomerNo, del LineItemNo, del LineItemNo_Int, del PartNo, del CustomerPartNo, del , sconto del UnitOfMeasure, del UnitPrice, del , VAT_Tax, PONumber, PODate, OrderNumber, PackingSlip, PlantNumber, DepartmentNumber, AccountNumber, CompanyWarehouse, SalesOrderCarrier, LineItemPONumber, LineItemReleaseNumber, MKPositionNumber, TrackingNumber, InvoiceFormat ), “013608„, “20„, 20, “TESTPART„, “TESTPART2„, “2„, '', “26.70„, '', '', “166TEST„, '', “31TEST„, '', '', '', '', '', Br/>) “di UPAC„, del '', del '', del del '', del Format'< del “di TESTTRACKINGNUM„, nuovo '
class= del
|