标签:insert soft order padding proc dir 游标 控制 loop
PL/SQL
SQL执行 |
PL/SQL执行 |
|
PL/SQL语法结构
语法:
DECLARE -- 声明部分,例如:定义变量、常量、游标。 BEGIN -- 程序编写、SQL语句 EXECTPION -- 处理异常 END ; / |
说明:
声明部分(DECLARE) |
包含变量定义、用户定义的PL/SQL类型、游标、引用的函数或过程; |
执行部分(BEGIN) |
包含变量赋值、对象初始化、条件结构、迭代结构、嵌套的PL/SQL匿名块,或是对局部或存储PL/SQL命名块的调用; |
异常部分(EXCEPTION) |
包含错误处理语句,该语句可以像执行部分一样使用所有项; |
结束部分(END) |
程序执行到END表示结束,分号用于结束匿名块,而正斜杠(/)执行块程序; |
默认情况下系统输出显示被关闭的,需要设定 SET SERVEROUTPUT ON
匿名Pl/SQL块
– 动态构造,只能执行一次
一次性完成,没有名字
范例
编写不做任何工作的PL/SQL块 |
BEGIN NULL ; END ; / |
最简单的循环PL/SQL匿名块,null表示什么也没干 |
BEGIN for i in 1..10 loop null; end loop; END; / |
编写HELLO WORD |
SQL> BEGIN 2 DBMS_OUTPUT.put_line(‘HELLO,WENDY‘); 3 END; 4 / HELLO,WENDY
PL/SQL procedure successfully completed. |
匿名PL/SQL块,循环显示2遍HELLOW,WENDY |
BEGIN For I in 1..2 loop DBMS_OUTPUT.put_line(‘HELLO,WENDY‘); End loop; END; / |
匿名PL/SQL块,循环插入数据 SQL> insert into t select rownum,‘x‘ from dba_objects where rownum<101; 能用SQL解决的就不要用PL/SQL PL/SQL会消耗资源,效率很低 |
BEGIN for i in 1..100 loop insert into t values(i,‘w‘); end loop; END; / |
编写一个简单的PL/SQL程序 := 为变量复制 |
DECLARE v_num NUMBER ; -- 定义一个变量v_num BEGIN v_num := 30 ; -- 设置v_num的内容 DBMS_OUTPUT.put_line(‘V_NUM变量的内容是:‘ || v_num) ; END ; / |
编写PL/SQL块,输入一个雇员编号,而后取得指定的雇员姓名 |
DECLARE v_eno NUMBER ; v_ename VARCHAR2(10) ; BEGIN v_eno := &empno ; -- 由键盘输入雇员编号 SELECT ename INTO v_ename FROM emp WHERE empno=v_eno ; DBMS_OUTPUT.put_line(‘编号为:‘ || v_eno || ‘雇员的名字为:‘|| v_ename) ; END ; / |
标签:insert soft order padding proc dir 游标 控制 loop
原文地址:http://www.cnblogs.com/thescentedpath/p/introducePLSQL.html