1

oracleclob列の値をに更新する必要がありますnull。以下を試してみましたが、うまくいきませんでした。何か案は?

update table_name 
   set CONTENT_TEMPLATE=empty_clob() 
 where table_key=12345;


Name                 Null     Type          
-------------------- -------- ------------- 
TEST_KEY            NOT NULL NUMBER(10)    
TEST_ID             NOT NULL VARCHAR2(100) 
TEST_TYPE           NOT NULL VARCHAR2(30)  
TEMPLATE_ID                   VARCHAR2(100) 
ROUTE                         VARCHAR2(100) 
MEDIUM                        VARCHAR2(100) 
BEGIN_EFFECTIVE_DATE NOT NULL DATE          
END_EFFECTIVE_DATE   NOT NULL DATE          
CUSTOMER_ID          NOT NULL VARCHAR2(30)  
VAR_ID               NOT NULL VARCHAR2(30)  
CREATION_DATE        NOT NULL DATE          
LAST_UPDATED_DATE    NOT NULL DATE          
LAST_UPDATED_BY      NOT NULL VARCHAR2(30)  
CONTENT_TEMPLATE              CLOB          
SUBJECT_TEMPLATE              CLOB          
UNIT_TYPE                     VARCHAR2(30)  
OVERLOADED_ALERT_KEY          NUMBER(10)    
ALERT_TYPE_ALIAS              VARCHAR2(100) 
4

1 に答える 1

2
update table_name 
   set column_name = null 
 where table_key=12345;

NULL- データの不在

empty_clob()-CLOBは初期化されていて空であり、 とは異なりますNULL

それでもこの列が表示される場合は、データ型の列に制約ORA-01407があることを意味します。NOT NULLCLOB

アップデート:

CLOB列がNOT NULL設定されていないため、動作するはずCONTENT_TEMPLATE = NULLです。CONTENT_TEMPLATE = empty_clob()も動作しますが、 と同じではないことに注意してNULLください。

于 2012-10-12T18:31:35.263 に答える