sql >> Databasteknik >  >> RDS >> PostgreSQL

Postgresql-genererad kolumn misslyckas vid sammankoppling av inte null-kolumner

Försök att behålla de inblandade kolumnerna av samma typ, t.ex. casta instance till text borde göra susen:

CREATE TABLE IF NOT EXISTS cdr_event
(
    id bigint primary key generated always as identity,
    start_time timestamptz NOT NULL DEFAULT now(),
    end_time timestamptz NULL,
    group_id VARCHAR(10) NOT NULL,
    environment VARCHAR(10) NOT NULL,     
    level VARCHAR(10) NOT NULL,           
    schema VARCHAR(30) NOT NULL,      
    instance INTEGER NOT NULL,            
    hive_instance_db_name VARCHAR(100) GENERATED ALWAYS AS (group_id||'_'||environment||'_'||level||'_'||schema||'_'||instance::text) STORED,
    hive_static_db_name VARCHAR(100) GENERATED ALWAYS AS (group_id||'_'||environment||'_'||level||'_'||schema) STORED
);

Överväg att använda text istället för varchar .

Demo:db<>fiddle




  1. Hur man använder Zend Framework för att exportera till CSV med mySQL:s INTO OUTFILE-funktionalitet

  2. MySQL - Varför ignoreras COLLATION-regler av LIKE-operatorn för tyska ß-tecken

  3. Hur kan jag sätta IF ELSE CONDITION i Oracle-frågan?

  4. Exempel på SQL Server FÖR JSON AUTO (T-SQL)