0

通过输入学校名称查找学校负责人

CREATE OR REPLACE PROCEDURE getHeadOfSchool( inSchoolName IN VARCHAR ) IS 
DECLARE
V_headOfSchool  school.headOfSchool%TYPE;
BEGIN
SELECT headOfSchool INTO v_headOfSchool FROM school WHERE schoolName = inSchoolName;
DBMS_OUTPUT.PUT_LINE(‘The head of the school is ’||v_headOfSchool);
END;
/

当我运行它时它说编译错误。为什么?

4

1 回答 1

3

它是 DECLARE 关键字。这仅适用于匿名 PL/SQL 块。对于存储过程,IS 关键字标记声明部分的开始。

PL/SQL 文档提供了语法的正式规范和大量示例。 了解更多。


您可以通过显示编译错误自己解决此问题。PLSQL Developer、SQL Developer 或 TOAD 等现代 IDE 将自动执行此操作。在 SQL*Plus 中,您可以使用该show errors命令。如果您使用的是其他客户端,则可以运行:

select * from user_errors
where name = 'GETHEADOFSCHOOL'; 

请注意,Oracle 将其对象名称存储在大写字母中。所以 CamelCase 在源代码中都很好,但是没有下划线使得数据字典查找变得更加困难。

于 2013-07-19T07:08:28.887 回答