2012-11-03 3 views
0

업데이트 쿼리가 있습니다. 아래 쿼리를 실행하면 생성 된 열에 할당이 표시됩니다.hsqldb 업데이트 실패 '생성 된 열에 대한 할당'예외 발생

표 쿼리 만들기 :

CREATE TABLE group1 (
    main_group varchar(20) GENERATED ALWAYS AS ('N/A'), 
    group_name varchar(50) NOT NULL, 
    group_id INTEGER GENERATED BY DEFAULT AS IDENTITY(start with 1) 
); 

업데이트 쿼리를 :

update group1 set main_group = 'Asset' where group_name = 'Current Assets' 

오류 : 나는 구문을 확인했다

Error code -5513, SQL state 42513: assignment to generated column 
Line 1, column 1 

이 권리입니다.

편집 : 추가 group1 테이블에 대한 테이블 쿼리 만들기.

이 문제에서 저를 도와 ... 사전에

감사합니다 ..

+1

group1 테이블에 대한 CREATE TABLE 문을보고하십시오. – fredt

+0

@fredt : create table 문을 업데이트했습니다. – Dhinakar

답변

1

이 테이블 정의는 main_group의 값은 항상 문자열 'N/A'로 생성됩니다 MEAS. 따라서 업데이트 할 수 없습니다. 분명히 당신은 이것을 원하지 않습니다. GENERATATED ALWAYS AS ('N/A') 절을 제거해야합니다.

이 열의 기본값을 'N/A'로 지정하려면 DEFAULT 절을 사용하십시오. 테이블에 대한 기본 키도 정의해야합니다.

CREATE TABLE group1 (
    main_group varchar(20) DEFAULT 'N/A', 
    group_name varchar(50) NOT NULL, 
    group_id INTEGER GENERATED BY DEFAULT AS IDENTITY(start with 1) PRIMARY KEY 
); 
+0

그것의 작동. 고마워요 fredt .... – Dhinakar

관련 문제