小编Apo*_*dis的帖子

错误:列“semester_id”是整数类型,但表达式是布尔类型

我在 PostgreSQL 中创建了这个 PL/pgSQL 触发器函数:

CREATE or replace FUNCTION public.trigger31()
        RETURNS trigger
        LANGUAGE 'plpgsql'
        COST 100
        VOLATILE NOT LEAKPROOF 
    AS $BODY$
    begin
        if(TG_OP='INSERT') then
            if(New.start_date>(select max(end_date) from "Semester") and New.end_date>New.start_date) then

                Insert Into "Semester" (semester_id,academic_year,academic_season,start_date,end_date,semester_status)
                values (New.semester_id=(select max(s.semester_id)+1 from "Semester" s):: integer,
                        new.academic_year= academic_year_trig(),
                        new.academic_season=academic_season_trig(),
                        new.start_date,new.end_date,
                        new.semester_status=semester_stat_trig()
                    );
                return NEW;
            else
                RAISE EXCEPTION 'Invalid start_date or end_date';
            end if;
        end if;
    end;
$BODY$;
Run Code Online (Sandbox Code Playgroud)

尝试执行它,我收到此错误:

ERROR:  column "semester_id" is of type integer but expression is of type boolean
LINE 2:    values …
Run Code Online (Sandbox Code Playgroud)

postgresql plpgsql auto-increment database-trigger sql-insert

5
推荐指数
1
解决办法
6284
查看次数

NGSI-LD 和 JSON-LD 有哪些区别?

在 Fiware 教程中,我读到 NGSI-LD 不是 100% JSON-LD。你能解释一下有哪些区别吗?

fiware

3
推荐指数
1
解决办法
1202
查看次数