CREATE OR REPLACE PROCEDURE TEST
(
NAME IN STUDENT.NAME_STR%TYPE,
OU OUT NUMBER
) AS
CU NUMBER:=0;
CT NUMBER:=0;
BEGIN
SELECT COUNT(*) INTO CU FROM STUDENT WHERE NAME_STR=TRIM(NAME);
IF CU=1 THEN
SELECT COUNT(*) INTO CT FROM COURSE
WHERE NAME=
(SELECT SNO STUDENT WHERE NAME_STR=TRIM(NAME));
IF CT=0 THEN
OU:=0;
ELSE
OU:=1;
END IF;
ELSE
OU:=-1;
END IF;
END TEST;
(
NAME IN STUDENT.NAME_STR%TYPE,
OU OUT NUMBER
) AS
CU NUMBER:=0;
CT NUMBER:=0;
BEGIN
SELECT COUNT(*) INTO CU FROM STUDENT WHERE NAME_STR=TRIM(NAME);
IF CU=1 THEN
SELECT COUNT(*) INTO CT FROM COURSE
WHERE NAME=
(SELECT SNO STUDENT WHERE NAME_STR=TRIM(NAME));
IF CT=0 THEN
OU:=0;
ELSE
OU:=1;
END IF;
ELSE
OU:=-1;
END IF;
END TEST;
SELECT COUNT(*) INTO CT FROM COURSE
WHERE NAME=
(SELECT SNO STUDENT WHERE NAME_STR=TRIM(NAME));
Oracle中有AFTETR/before触发器CREATE OR REPLACE TRIGGER ECS_SFIS_OQC_SNINFO_ID
AFTER INSERT --改成Before,下列语句才可
ON ECS_SFIS_OQC_SNINFO
REFERENCING
NEW AS NEW
OLD AS OLD
FOR EACH ROW
DECLARE
oqcno VARCHAR2(16);
sncount NUMBER;
BEGIN
oqcno:=:new.STROQCNO;
select count(strsn) into sncount from ecs_sfis_oqc_sninfo where strsn=:new.strsn;
if sncount=1 then
update ecs_sfis_oqc_qcnoinfo set numchecked=sncount where stroqcno=oqcno;
end if;
end;