SQL*Plus中可以处理三种类型的命令(转)
2017-06-07 本文已影响6人
愤怒的_菜鸟
在SQL*Plus中可以处理三种类型的命令:SQL语句、PL/SQL块和SQL*Plus命令。
但三者之间是有区别的。
脚本中的 “:job”是一种绑定变量的方式,属于sql plus的命令格式。需要写成如下格式,然后在plsql developer的命令窗口中执行,或者到sqlplus中执行。
var job number;
begin
sys.dbms_job.submit(job => :job,
what => 'ps_inventory_io;',
next_date => to_date('01-01-4000', 'dd-mm-yyyy'),
interval => 'trunc(sysdate)+1+0/24');
commit;
end;
/
1)SQL语句是以数据库为操作对象的语言,主要包括数据定义语言DDL、数据操纵语言DML和数据控制语言DCL以及数据存储语言DSL。当输入SQL语句后,SQL*Plus将其保存在内部缓冲区中。
当SQL命令输入完毕时,有三种方法可以结束SQL命令:在命令行的末尾输入分号(;)并按回车;在单独一行上用斜杠(/);或用空行表示。
2)PL/SQL块同样是以数据库中的数据为操作对象。但由于SQL不具备过程控制功能,所以,为了能够与其他语言一样具备面向过程的处理功能,在SQL中加入了诸如循环、选择等面向过程的处理功能,由此形成了PL/SQL。所有PL/SQL语句的解释均由PL/SQL引擎来完成。使用PL/SQL块可编写过程、触发器和包等数据库永久对象。
3)SQL*Plus命令主要用来格式化查询结果、设置选择、编辑及存储SQL命令、以设置查询结果的显示格式,并且可以设置环境选项。