CASE를 사용하여 여러 행을 업데이트하려고합니다. Oracle sql, CASE를 사용하여 여러 행을 업데이트하십시오.
UPDATE GRIDCOLUMNS
SET TYPE= CASE
WHEN (Fieldname = 'AccountNum' AND ID = 19337) THEN 6
WHEN (Fieldname = 'AccountNum' AND ID = 19339) THEN 6
WHEN (Fieldname = 'AccountNum' AND ID = 19380) THEN 6
WHEN (Fieldname = 'AccountNum' AND ID = 19419) THEN 6
END;
내가 그것을 실행
아래의 코드, 나는 다음과 같은 오류 얻을 :Error starting at line 1 in command:
UPDATE GRIDCOLUMNS
SET TYPE= CASE
WHEN (Fieldname = 'AccountNum' AND ID = 19337) THEN 6
WHEN (Fieldname = 'AccountNum' AND ID = 19339) THEN 6
WHEN (Fieldname = 'AccountNum' AND ID = 19380) THEN 6
WHEN (Fieldname = 'AccountNum' AND ID = 19419) THEN 6
END
Error report:
SQL Error: ORA-01407: cannot update ("WEB"."GRIDCOLUMNS"."TYPE") to NULL
01407. 00000 - "cannot update (%s) to NULL"
*Cause:
*Action:
어떤 문제가 될 수 있습니까?
문제는 'ELSE' 절이없는'CASE' 표현식은 일치하는 검색 표현식이 없으면 'null'로 평가된다는 것입니다. –