声明部分包括类型、常量、变量、异常、显式游标和嵌套子程序的声明。这些项对于子程序都是本地的,当子程序执行结束时就都不存在了。

    • 执行部分(必选)
    • 异常处理部分(可选)

    异常处理部分包括处理异常(运行时错误)的代码。

    一个存储过程的结构如下:

    1. [ declarative_part ]
    2. -- 至少有一句 RETURN 语句
    3. exception_handler; [ exception_handler; ]... ]
    4. END;

    PROCEDURE 和 FUNCTION 跟 IS | AS 之间的代码是子程序的声明,声明部分、执行部分和异常处理部分是子程序的内容体。