【发布时间】:2013-11-20 20:34:31
【问题描述】:
所以,我做了一些研究,从我能找到的类似问题中,我无法解决我的特定问题。我遇到了可怕的,
错误(35,18):PLS-00103:在预期以下情况之一时遇到符号“文件结尾”:( begin case declare end exception exit for goto if loop mod null pragma raise return select update while with
一些修复是查看您的代码并找到任何遗漏的分号。我的特定代码的问题在于,如果没有作为存储过程和 IN 参数的声明,则代码可以完美运行。我正在采用一个可行的程序,只是试图能够更改正在搜索的内容,而无需对全新的搜索进行硬编码。那有意义吗?
代码如下:`
CREATE OR REPLACE PROCEDURE testProcedure(var_Name IN varchar2)
IS
BEGIN
DECLARE
var_Name newscores.name%TYPE;
var_courseNo newscores.courseNo%Type;
var_sectionNo newscores.sectionNo%Type;
var_average grade2.average%TYPE;
var_termscores gradepolicy.lettergrade%TYPE;
CURSOR AverageCursor is
SELECT distinct n.name, n.courseNo, n.sectionNo, g2.average, gp.lettergrade
from newscores n, grade2 g2, gradepolicy gp
where n.stuNo = g2.stuNo
and n.courseNo = g2.courseNo
and n.sectionNo = g2.sectionNo
and g2.average < gp.upper_bound
and g2.average > gp.low_bound
and n.name = 'Randy Ballard'
and gp.classNo = g2.courseNo
and gp.sectionNo = g2.sectionNo;
BEGIN
OPEN AverageCursor;
LOOP
FETCH AverageCursor
INTO var_Name, var_courseNo, var_SectionNo, var_average, var_termscore;
Exit when AverageCursor%NOTFOUND;
dbms_output.put_line('Full Name'||' '||var_Name);
dbms_output.put_line('Full Name'||' '||var_courseNo);
dbms_output.put_line('Full Name'||' '||var_sectionNo);
dbms_output.put_line('Full Name'||' '||var_average);
dbms_output.put_line('Full Name'||' '||var_termscore);
END LOOP;
END testProcedure;
/
`
【问题讨论】:
标签: sql oracle stored-procedures stored-functions