Ich versuche, eine mathematische Abfrage (mit einem booleschen) zu verwenden, um eine Spalte in meiner Oracle SQL-Tabelle zu füllen, aber bekomme einen Fehler 'ungültiger Datentyp', den ich als eingerichtet habe Dezimalzahlen. schätzen würde jede Hilfe ... Danke GavinSQL ALTER TABLE MATHES QUERY
ALTER TABLE GS_MRC_EXISTING
ADD IF (GROSS_LAST + DISC_LAST) < (GROSS_THIS + DISC_THIS) = TRUE THEN DEC_GROSS = (GROSS_THIS - GROSS_LAST)
CREATE TABLE GS_MRC_EXISTING (
CUST_CODE varchar (255),
GROSS_LAST decimal (6,2),
DISC_LAST decimal (6,2),
GROSS_THIS decimal (6,2),
DISC_THIS decimal (6,2),
INC_GROSS decimal (6,2),
INC_DISC decimal (6,2),
DEC_GROSS decimal (6,2),
DEC_DISC decimal (6,2)
)
Es gibt keine solche Dinge als "ADD IF" in Oracle. Wo hast du das gefunden? Auch Oracle hat keinen booleschen Datentyp, daher ist auch die Bedingung '= TRUE' ungültig. –
Hallo Bob, ich habe das nur hinzugefügt, damit Sie die Dateitypen sehen konnten, die ich erstellt hatte, falls das das Problem war. Ich habe es geschafft, CUST_CODE, GROSS_LAST, DISC_LAST, GROSS_THIS, DISC_THIS zu füllen. Und müssen sie vergleichen, um die letzten vier Spalten zu füllen. – Gavin