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;
解决方案 »
- 求助:oracle oci OCIEnvCreate 崩溃
- JAVA向ORACLE过程传递集合类型
- oracle中没有时间字段的表怎么查三个月的记录!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- ▲▲▲如何在存储过程中用变量表示表名▲▲▲
- 关于局部数据更改的sql语句,请教……
- oracle有没办法强制使用关键字做字段名
- [求助]新人创建用户问题.
- 请大家指点
- 表 XXX 发生了变化, 触发器/函数不能读它
- 不懂就问,oracle的表分区技术
- 表中的date类型问题,很奇怪啊。
- 手里有一个 sql 文件,里面的内容都是创建表、序列、插入数据的 sql 语句,不知道怎么在oracle里去执行?谢谢
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;