存储过程出现 SQL statement ignored错误是:存储过程语句错误,字段或变量名可能拼错,导致存储过程无法执行。
解决方法:仔细检查存储过程里的变量,字段,语句等是否正确。
PL/SQL的特点:
1、PL/SQL是一种块结构语言,一个PL/SQL程序就是一个块,块中可以嵌套子块,能够使一组SQL语句的功能更具模块化程序特点;
2、每个块中可以定义变量,变量的作用范围仅限于该块;
3、PL/SQL程序块中可以使用SQL的查询语句,DML(表的增删改操作)语句及事务处理语句,可以对程序中的错误进行自动处理,使程序能够在遇到错误的时候不会被中断;
4、PL/SQL程序大小写不敏感。
5、Oracle中的PL/SQL引擎负责解释和执行PL/SQL程序,PL/SQL程序可以直接和SQL引擎进行交互。
PL/SQL引擎的作用:
编写的SQL语句,通过网络、java程序或者客户端工具发送给关系型数据库管理系统,PL/SQL引擎负责拿到这个字符串(SQL语句就是一个字符串文本格式),对其SQL语句进行语法分析,判断该SQL语句否符合Oracle中的语法要求,若符合,则执行SQL语句.
PL/SQL程序块与SQL语言的区别:
1、SQL语句:通过多条SQL语句实现功能时,每条语句都需要在客户端和服务端传递,而且每条语句的执行结果也需要在网络中进行交互,占用了大量的网络带宽,消耗了大量网络传递的时间,而在网络中传输的那些结果,往往都是中间结果,而不是我们所关心的。
2、PL/SQL程序块:而使用PL/SQL程序是因为程序代码存储在数据库中,程序的分析和执行完全在数据库内部进行,用户所需要做的就是在客户端发出调用PL/SQL的执行命令,数据库接收到执行命令后,在数据库内部完成整个PL/SQL程序的执行,并将最终的执行结果反馈给用户。
在整个过程中网络里只传输了很少的数据,减少了网络传输占用的时间,所以整体程序的执行性能会有明显的提高。
PL/SQL块有以下三部分组成:
声明部分(可选):声明常量、变量、复杂数据类型、游标等;
(执行部分(必须):包含若干语句以实现特定功能;
异常处理部分(可选):处理运行错误
PL/SQL块结构:
declare
声明部分
begin
执行部分,可包含SQL语句或PL/SQL控制语句
exception
异常处理部分
end;