首页 > 解决方案 > 错误:“uuid”第 4 行或附近的语法错误:imp_group uuid[] = '00000000-0000-0000-0000-000000000000';

问题描述

我不断收到错误错误:在“uuid”第 4 行或附近出现语法错误:imp_group uuid[] = '00000000-0000-0000-0000-000000000000'; ^ SQL 状态:42601 字符:39

当我尝试在 Postgres 中执行以下代码时:

DECLARE 
imp_group uuid[] = '00000000-0000-0000-0000-000000000000';
std_group uuid[] = '00000000-0000-0000-0000-000000000001';
ddp_group uuid[] = '00000000-0000-0000-0000-000000000002';
imp_uuid uuid[];
eciid INT = 0;
BEGIN

Create TEMPORARY TABLE public.tmp_data_sources (
    source_name text not null
)

--insert source names into tmp table
insert into public.tmp_data_source (source_name) VALUES ('AMA');
insert into public.tmp_data_source (source_name) VALUES ('SEL');
insert into public.tmp_data_source (source_name) VALUES ('CMH');
insert into public.tmp_data_source (source_name) VALUES ('WHS');
insert into public.tmp_data_source (source_name) VALUES ('BCS');
insert into public.tmp_data_source (source_name) VALUES ('NBH');
insert into public.tmp_data_source (source_name) VALUES ('DAY');
insert into public.tmp_data_source (source_name) VALUES ('HMI');
insert into public.tmp_data_source (source_name) VALUES ('MOM');
insert into public.tmp_data_source (source_name) VALUES ('BIR');
insert into public.tmp_data_source (source_name) VALUES ('JAI');
insert into public.tmp_data_source (source_name) VALUES ('AAF');
insert into public.tmp_data_source (source_name) VALUES ('MAA');
insert into public.tmp_data_source (source_name) VALUES ('MHS');
insert into public.tmp_data_source (source_name) VALUES ('CUS');
insert into public.tmp_data_source (source_name) VALUES ('ECS');
insert into public.tmp_data_source (source_name) VALUES ('JUV');
insert into public.tmp_data_source (source_name) VALUES ('LCS');
insert into public.tmp_data_source (source_name) VALUES ('LEA');
insert into public.tmp_data_source (source_name) VALUES ('AAA');
insert into public.tmp_data_source (source_name) VALUES ('CMS');
insert into public.tmp_data_source (source_name) VALUES ('RHS');
insert into public.tmp_data_source (source_name) VALUES ('MED');
insert into public.tmp_data_source (source_name) VALUES ('PCS');
insert into public.tmp_data_source (source_name) VALUES ('ET');
insert into public.tmp_data_source (source_name) VALUES ('BHS');
insert into public.tmp_data_source (source_name) VALUES ('BRS');
insert into public.tmp_data_source (source_name) VALUES ('UPK');
insert into public.tmp_data_source (source_name) VALUES ('EUS');
insert into public.tmp_data_source (source_name) VALUES ('SPN');
insert into public.tmp_data_source (source_name) VALUES ('GHS');
insert into public.tmp_data_source (source_name) VALUES ('KID');
insert into public.tmp_data_source (source_name) VALUES ('DTH');
insert into public.tmp_data_source (source_name) VALUES ('DCF');

--loop over tmp table and create several records for each data source
FOR temprow IN
        SELECT * FROM public.tmp_data_sources ORDER BY source_name DESC
    LOOP
        imp_uuid = uuid_generate_v4();
        eciid = eciid + 2;
        INSERT INTO cw_imp.imp_cm_child (
            imp_group,imp_uuid, eciid, childid, source) 
        VALUES (imp_group,imp_uuid,eciid,'1',temprow.source_name);
        INSERT INTO cw_imp.imp_cm_child (
            imp_group,imp_uuid, eciid, childid, source) 
        VALUES (imp_group,uuid_generate_v4(),eciid+1,'1',temprow.source_name);
        INSERT INTO cw_imp.imp_multibirth (
        imp_group,imp_uuid, eciid,twin_eciid_1)
        VALUES (imp_group,imp_uuid,eciid, eciid+1)
    END LOOP;

END;

谁能指出我在这里做错了什么?我试图想办法运行一个脚本,但一直卡住。

标签: sqlpostgresql

解决方案


推荐阅读