CREATE OR REPLACE PROCEDURE ALARM_1
IS
V_BEGIN_TIME NUMBER(10); --开始时间
V_END_TIME NUMBER(10); --结束时间
score_info_record score_info%ROWTYPE; --score_info记录类型
shold_record shold%ROWTYPE; --shold记录类型
--定义信息表游标
CURSOR C_score_info IS
SELECT * FROM score_info S1 WHERE time between V_BEGIN_TIME and V_END_TIME;
--定义域值表游标
CURSOR C_shold IS
SELECT * FROM shold;
BEGIN
--先给开始时间和结束时间赋值
...
--循环套循环,相当于java中的list中遍历list
--循环信息表游标
FOR score_info_record IN C_score_info
LOOP
BEGIN
--循环域值表游标
FOR shold_record IN C_shold
LOOP
BEGIN
--将信息表的一行和域值表的一行传递给alarm2;
ALARM_2(shold_record, C_score_info);
END;
END LOOP;
END;
END LOOP;
END ALARM_1;
BEGIN
V_COL_EXISTS_FLAG := 0;
V_ROW_EXISTS_FLAG := 0;
SELECT 1
INTO V_COL_EXISTS_FLAG
FROM DUAL
WHERE shold_record.targetName IN(SELECT COLUMN_NAME FROM USER_TAB_COLUMNS WHERE TABLE_NAME = 'SCORE_INFO');
IF(V_COL_EXISTS_FLAG IS NOT NULL AND V_COL_EXISTS_FLAG = 1) THEN