0

更新クエリがあります。以下のクエリを実行すると、生成された列への割り当てが表示されます。

テーブル クエリの作成:

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 テーブルのテーブル クエリの作成を追加しました。

この問題から私を助けてください...

前もって感謝します..

4

1 に答える 1

1

このテーブル定義は、main_groupの値が常に文字列'N/A'として生成されることを意味します。したがって、更新することはできません。明らかに、あなたはこれを望んでいません。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
);
于 2012-11-05T04:53:55.463 に答える