首页 文章

Informix / SQL - 从CSV加载数据并插入(如果尚不存在)

提问于
浏览
0

我在informix中编写一个sql脚本,它将csv文件中的数据加载到临时表中,然后插入数据(如果它尚不存在) .

csv有3列,并插入名为temp_table_csv的临时表中:

temp_table_csv
msg_group
code
message

'code'对应于table1中的相同代码字段,table1.ID是table.code_id的外键 .

table1
ID         serial         PK
code       varchar(255)   FK
msg_group  varchar(255)

table2
lang_id    serial         PK
code_id    varchar(255)   FK
msg_pt1    varchar(255)
msg_pt2    varchar(255)

如果临时表中的代码存在于table1中,那么我想忽略它 .

否则,如果它不存在:

应该在table1中添加一个新条目,其中包含一个新ID和临时表中的msg_group . 还应更新table2,其中code_id为table1.ID,msg_pt1为消息 .

我已将数据输入临时表,我不知道如何检查现在是否存在“ID” .

1 回答

  • 0

    Informix ......也许我错了,但无论如何它闻起来像Avaya产品 . 没有任何样品,我建议你尝试类似的东西

    INSERT INTO table2(field1, field2)
    SELECT msg_pt1, msg_pt2
    FROM #TEMPORARY_CSV_OR_WHATEVER T
    WHERE T.ID NOT IN(SELECT ID FROM table1)
    
    INSERT INTO table1(ID)
    SELECT ID
    FROM #TEMPORARY_CSV_OR_WHATEVER T
    WHERE T.ID NOT IN(SELECT ID FROM table1)
    

相关问题