0
は、私は私のテーブルに値を挿入しようとしていますが、私はエラーERROR(ORA-01858:数値が期待されていたところ、数値以外の文字が発見された)
ORA-01858: a non-numeric character was found where a numeric was expected
を得続けます
INSERT INTO PRODUCT_DIM_HIS
(PRODUCTKEY, PRODUCTID, PRODUCTDESCRIPTION, PRODUCTLINEID, PRODUCTLINENAME, EFF_START_DATE, EFF_END_DATE)
SELECT PRODUCT_KEY_SEQ.NEXTVAL, nvl(to_char(p.PRODUCTID), 'Undefined'), nvl(to_char(p.PRODUCTDESCRIPTION), 'Undefined'),
nvl(to_char(p.PRODUCTLINEID), 'Undefined'), nvl(to_char(pl.PRODUCTLINENAME), 'Undefined'),
nvl(to_date(o.ORDERDATE), 'Undefined'), nvl(to_date(o.FULFILLMENTDATE), 'Undefined')
FROM PRODUCTLINE_T pl, PRODUCT_T p, ORDER_T o, ORDERLINE_T ol
WHERE p.PRODUCTLINEID = pl.PRODUCTLINEID
AND o.ORDERID = ol.ORDERID
AND ol.PRODUCTID = p.PRODUCTID;
PRODUCT_DIM_HISのCODE 要求:
CREATE TABLE PRODUCT_DIM_HIS
(
PRODUCTKEY integer NOT NULL,
PRODUCTID integer,
PRODUCTDESCRIPTION VARCHAR2(50 BYTE),
PRODUCTLINEID integer,
PRODUCTLINENAME VARCHAR2(50 BYTE),
EFF_START_DATE DATE,
EFF_END_DATE DATE,
CONSTRAINT PRODUCT_DIM_HIS_PK PRIMARY KEY (PRODUCTKEY)
);
これは私のコードです
ORDERDATEとORDER_TのFULLFILlMENTDATEにDATEデータ型があるため、問題の原因を理解できません。
@BOB_JARVIS
CREATE TABLE PRODUCT_DIM
(
PRODUCTKEY integer NOT NULL,
PRODUCTID integer,
PRODUCTDESCRIPTION VARCHAR2(50 BYTE),
PRODUCTLINEID integer,
PRODUCTLINENAME VARCHAR2(50 BYTE),
CONSTRAINT PRODUCT_DIM_PK PRIMARY KEY (PRODUCTKEY)
);
INSERT INTO PRODUCT_DIM
(PRODUCTKEY, PRODUCTID, PRODUCTDESCRIPTION, PRODUCTLINEID, PRODUCTLINENAME)
SELECT PRODUCT_KEY_SEQ.NEXTVAL, nvl(to_char(p.PRODUCTID), 'Undefined'), nvl(to_char(p.PRODUCTDESCRIPTION), 'Undefined'),
nvl(to_char(p.PRODUCTLINEID), 'Undefined'), nvl(to_char(pl.PRODUCTLINENAME), 'Undefined')
FROM PRODUCTLINE_T pl, PRODUCT_T p
WHERE p.PRODUCTLINEID = pl.PRODUCTLINEID;
INSERT INTO PRODUCT_DIM
(PRODUCTKEY, PRODUCTID, PRODUCTDESCRIPTION, PRODUCTLINEID, PRODUCTLINENAME)
VALUES (PRODUCT_KEY_SEQ.NEXTVAL, -99, 'Undefined', -99, 'Undefined');
何ですか? –
日付のうちの1つがnullで、 'nvl()'によって 'Undefined'に置き換えられていると思います。このタイプのエラーは非常に簡単にデバッグできます。実際に送信しようとしている値をデータベースに公開してください。 – Khyron
@BobJarvis私はそれを – pyuntae