I'm using proc append to load data into an Oracle table (using SAS/ACCESS). One column of the oracle table is defined as NOT NULL with DEFAULT 'S'. But this column doesn't exist in the SAS Table which shall be loaded into Oracle and here the problem starts. I thought that for this column the default value shall be assigned but SAS taught me otherwise. A blank character is inserted. I've already looked for possible sas options (NULLCHAR, NULLCHARVAL, DBNULL etc.) but it doesn't work.. Below a simple example: ORACLE Table: CREATE TABLE TEST ( NUM NUMBER(4) NOT NULL, COD VARCHAR2(1 CHAR) DEFAULT 'S' NOT NULL ) SAS Table: data TMP; NUM = 198; run; SAS-Code: libname orahome oracle path=&ORAPATH schema=&ORASCHEMA user=&ORAUSER password="&ORAPASS"; options sastrace=',,,dsa' sastraceloc=saslog; proc append base = orahome.TEST data = TMP; quit; Does anyone have a glue how to tell SAS not to automatically add the missing column in Oracle to the INSERT statement and use instead the DBMS mechanism? The Log shows that there is a INSERT statemend generated with all columns existing in ORACLE: INSERT INTO TMP_COAL_COLLATERAL_PUA ("NUM","COD") VALUES (:"NUM",:"COD") It seems that SAS is adding the missing column with a blank value. Any hints for solving this issue would be appreciated. Thx Arnold
... View more