SQLPLUS执行PL/SQL语句块
Posted Happy2Share
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQLPLUS执行PL/SQL语句块相关的知识,希望对你有一定的参考价值。
1.首先登录Oracle HR schema:
2.对于PL/SQL程序,分号表示语句的结束;而使用 "." 号表示整个语句块的结束,也可以省略。按回车键后,该语句块不会执行,即不会发送到数据库服务器,而是必须使用 "/" 符号执行PL/SQL 语句块
使用 "/" 执行PL/SQL 语句块
3. 在上例中,虽然执行了PL/SQL 程序,但是没有输出结果的显示。数据库服务器肯定将数据传输给了SQLPLUS,并且变量var_first_name 和 var_last_name 都已经被复制,问题是结果没有显示在SQLPLUS上,解决办法是在执行上例中的PL/SQL 程序之前,执行如下命令:
此后,可以看到结果显示在SQLPLUS上:
总结:为了在SQLPLUS中看到PL/SQL 程序 执行的结果,需要:
1 . set serveroutput on
2. 在PL/SQL语句块末尾使用 "/" 执行PL/SQL语句块
severoutput 默认情况下是关闭的,为了 设置 set serveroutput on ,可以有以下办法:
1.每次手动输入 set serveroutput on ,手动开启。
2.在SQLPLUS 中的 glogin.sql 文件中加一条SQL语句: set serveroutput on;
此后,每次启动SQLPLUS 就会自动 run 这条语句,无需手动输入。
本地的glogin.sql 文件位置为: D:\\Oracle_Install_Dir\\app\\oracle\\product\\11.2.0\\server\\sqlplus\\admin\\glogin.sql
加了 set serveroutput on;之后的glogin.sql 文件如下:
此时,在SQLPLUS中不需要手动输入set serveroutput on ,即可执行 PL/SQL语句块,看到结果。
3.可以编写一个触发器,一旦数据库登录即修改参数serveroutput 为 on.
以上是关于SQLPLUS执行PL/SQL语句块的主要内容,如果未能解决你的问题,请参考以下文章
SQL Plus 无法识别 Oracle PL/SQL 语句