0

次のクエリを実行した後:

insert into regiony 
(m_valid, m_validationreport, 
m_creation_timestamp, m_creation_user, 
m_modification_timestamp, m_modification_user, 
instance, kod_regionu, nazwa_gminy, kod_teryt) 

select distinct NULL, NULL, now(), 'abc', now(), 
'abc', NULL, region_poch, export_gmina, replace(teryt, '|', '') from source_table

次のエラーが表示されます。

エラー: 列 "m_valid" はブール型ですが、式はテキスト型です

null 値をブール値 (NULL::boolean) に変換しようとしましたが、ブール値では機能しましたが、ターゲット テーブル (regiony) のインスタンス列は XML 型であり、PGSQL は NULL を XML に変換することを拒否しました。null を xml に変換すると、次のようになります。

エラー: タイプ xml の等価演算子を識別できませんでした

助言がありますか?null 値を受け取るすべての列で null 値が許可されており、アイデアが不足しています。

乾杯、ジャン

4

1 に答える 1

1

必要に応じて PG が処理できるように、明示的な null ステートメントを使用せずに書き直してみてください。

insert into regiony (
  m_creation_timestamp,
  m_creation_user,
  m_modification_timestamp,
  m_modification_user,
  kod_regionu,
  nazwa_gminy,
  kod_teryt
  )
select distinct now(),
  'abc',
  now(),
  'abc',
  region_poch,
  export_gmina,
  replace(teryt, '|', '')
from source_table
于 2013-05-14T13:03:48.280 に答える