gpt4 book ai didi

.net - 如何检查该值是否存在于多个表中

转载 作者:搜寻专家 更新时间:2023-10-30 20:38:26 24 4
gpt4 key购买 nike

我打算将机器生成的文本文件中的一些数据插入 oracle 数据库中的单个表中。但是这些值可以存在于同一数据库中的多个表中,这些表是通过不同的来源更新的。所以我想检查该值是否存在并在其他表中匹配。为了做到这一点,我在新的单表中创建了一个名为“Ismatching”的列。但我不知道如何检查是否值是否存在。我正在使用 ADO.NET 将数据推送到 oracle 数据库。以下是我用来从多个表 MN_SITEMN_CELL 和MN_PSITE 和我要插入的新表是Mn_tabletest,我在其中创建了一个新列“Ismatching”。以下是我用来从多个表中获取数据的查询,我将要插入到表 Mn_tabletest 中的相同列值。但我不知道如何更新 t 中的新列“Ismatching”插入时能够 Mn_tabletest ,有人可以在这里指导我吗

SELECT        MN_SITE.TECH_CODE, MN_SITE.VENDOR_CODE, MN_SITE.SITE_ID, MN_SITE.BSC_ID, MN_PSITE.GEO_ZONE_CODE, MN_PSITE.REGION_CODE, MN_CELL.TALIM, 
MN_CELL.BTS_NAME, MN_CELL.CELL_INFO, MN_CELL.CELL_INFO AS EXPR1, MN_CELL.CELL_NAME, MN_CELL.BSIC, MN_CELL.SECTOR_NAME,
MN_CELL.HOPPING_MODE, MN_CELL.BSPWR, MN_CELL.DEFINED_TCH_FRQ, MN_CELL.TRX_NOS, MN_CELL.NO_OF_FREQ, MN_CELL.HSN, MN_CELL.LAC,
MN_CELL.BCC, MN_CELL.NCC, MN_CELL.BAND, MN_CELL.CELL_SLNO, MN_CELL.CELL_ID
FROM MN_CELL INNER JOIN
MN_SITE ON MN_CELL.SITE_SLNO = MN_SITE.SITE_SLNO INNER JOIN
MN_PSITE ON MN_SITE.PSITE_SLNO = MN_PSITE.PSITE_SLNO
WHERE (MN_CELL.CELL_SLNO = '128691')

更新

我不同时进行插入和更新。我正在将行插入到一个表中,但是“Ismatching”列之一是基于当前插入的行存在于其他多个表中

最佳答案

正如 oldProgrammer 所建议的,您可以使用 MERGE 语句将数据插入实际表中,而不是先将数据插入“Ismatching”列。

合并语法: MERGE INTO actual_table A
USING (SELECT B_columns FROM reference_table B)
打开(A.column1 = B.column1)
匹配后更新 SET B.column2=....
如果不匹配则插入 (A.column1, A.column2,....)
VALUES (A.column1, A.column2,....);

这里您的 column1 将是一个主列,用于检查数据是否存在。

有关合并的更多详细信息,请查看:http://docs.oracle.com/cd/B28359_01/server.111/b28286/statements_9016.htm#SQLRF01606

关于.net - 如何检查该值是否存在于多个表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30856243/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com