【发布时间】:2019-04-07 04:42:13
【问题描述】:
我已经使用光标选择了这些数据。像这样,我可以插入每个数据。我只需要在一个插入命令中合并该查询。
CURSOR moc_local_call_records
IS
SELECT RECIPIENT, COUNT(*) N_CNT
FROM (SELECT RECIPIENT,
SERVICE_TYPE,
MPS_SWTCH_CD,
MPS_FTR_CD1
FROM ABA_RM_INB_USAGE
WHERE SERVICE_TYPE = 100
OR SERVICE_TYPE = 0
AND MPS_SWTCH_CD = 'T11'
AND MPS_FTR_CD1 = 1033)
GROUP BY RECIPIENT;
CURSOR moc_local_home_records
IS
SELECT RECIPIENT, COUNT(*) N_CNT
FROM (SELECT RECIPIENT,
SERVICE_TYPE,
MPS_FTR_CD1
FROM ABA_RM_INB_USAGE
WHERE SERVICE_TYPE = 100
OR SERVICE_TYPE = 0
AND MPS_FTR_CD1 = 1031)
GROUP BY RECIPIENT;
像这样我可以插入每个数据。
FOR mocLocalCallRecords IN moc_local_call_records
LOOP
IF mocLocalCallRecords.N_CNT > 0 THEN
INSERT INTO TRAFFIC_PREPROCESS_INB(TADIG, MOC_LOCAL_CALL_RECORDS)
VALUES (mocLocalCallRecords.RECIPIENT, mocLocalCallRecords.N_CNT);
END IF;
END LOOP;
FOR mocLocalHomeRecords in moc_local_home_records
LOOP
IF mocLocalHomeRecords.N_CNT > 0 THEN
INSERT INTO TRAFFIC_PREPROCESS_INB(moc_local_home_records)
VALUES (mocLocalHomeRecords.N_CNT);
end if;
end loop;
我只需要在一个插入命令中合并这些查询。给我一些建议,顺便说一下我是初学者
【问题讨论】:
-
这适用于哪个 RDBMS?请添加标签以指定您使用的是
mysql、postgresql、sql-server、oracle还是db2- 或其他完全不同的东西。 -
ORACLE PL/SQL -------------------------- --------------------------
-
那么请在您的问题中添加
oracle标签!
标签: sql oracle stored-procedures plsql