2016-05-30 15 views
0
data ABC.TABLE_1 (REPLACE=YES); 
set ABC.TABLE_1 (OBS=0); 
run; 

ERROR: The TERADATA table TABLE_1 has been opened for OUTPUT. This table already exists, or there is a name 
     conflict with an existing object. This table will not be replaced. This engine does not support the REPLACE option. 

何が問題なのですか?データセット:このエンジンはREPLACEオプションをサポートしていません

おかげで、

+1

エラーメッセージは何が間違っているかを示します。あなたが使用したい名前がすでに存在し、あなたはREPLACEを使用しようとしますが、サポートされていません。オリジナルを落とすか、既存の名前と矛盾しない名前を使用してください。 – MatBailie

+0

私は同じ名前が必要です。元のテーブルを削除することはできますが、SASには2つのタイプ、ストリング、ダブルス(SAS→Teradata)しかありません。 たとえば、私はテーブル内にID列をINTEGER形式で持っています。私はproc appendを使用していますが、テーブルをチェックするときにIDがdoubleまたはfloat形式になっています。 私は問題を持っていますが、私はproc sql deleteを使うことができますが、無効です。 – aola

+0

PROC SQLのEXECUTE()関数を使用して、Teradataへのプッシュダウンを使用して、自分でCREATE TABLE文を送信することを検討しましたか? –

答えて

1

aolaテーブルを自分で削除のどちらか。

proc delete data=ABC.TABLE_1 ; run; 

または

proc sql; drop table ABC.TABLE_T; quit; 

それとも、テーブルを削除したくない場合は、単に観測を削除します。

proc sql; delete from ABC.TABLE_T; quit; 

次に、PROC APPENDを使用して既存のテーブルにデータを追加します。

proc append base=ABC.TABLE_1 data=WORK.TABLE_1; run; 

Teradataに使用するタイプを指定する場合は、DBTYPEデータセットオプションを使用できます。

data ABC.TABLE_1 (dbtype=(id='integer')); 
    set table_1; 
run; 
関連する問題