从零开始学Oracle—PL/SQL(七)
2009-04-09 13:13:35 来源:WEB开发网语言特征:
<1>,大小写不敏感
<2>,复合符号的含义
:= 赋值操作符 ||连接操作符 ..范围操作符 **求幂操作符 《,》标签分隔符 --单行注释 /*,*/多行注释
<3>声明变量 --变量名 数据类型 :=值 例: varA varchar2(10):='声明变量';
<4>声明常量 --变量名 constant 数据类型 := 值
---------------- 技巧:初始化变量和常量时,保留字default可替换:=赋值操作符--------------
<5>属性类型
%type --引用某个变量或数据库列的数据类型来声明变量
%rowType --提供表示表中一行的记录类型
<6>控制结构
a,条件控制 if then 或 if then else 或 if then elsif 或 case
b,循环控制 loop
while exit或exit when退出
for
c,顺序控制 Goto Null语句
语法示例:
1--PL/SQL 简单语法
2
3Begin
4 null;
5End;
6/
7
8Declare
9 varA number(4);
10Begin
11 varA := 1234;
12 DBMS_output.put_line(varA);
13End;
14/
15
16Declare
17 varA number(4);
18Begin
19 varA := 1234;
20 DBMS_output.put_line(varA);
21 Declare
22 varB number(4):=2234;
23 Begin
24 DBMS_output.put_line(varA);
25 DBMS_output.put_line(varB);
26 End;
27 DBMS_output.put_line(varB);
28End;
29/
30
31Declare
32 varA number(4);
33 varB number(4):=2234;
34Begin
35 varA := 1234;
36 DBMS_output.put_line(varA||' '||varB);
37End;
38/
39Begin块 注意事项:
40-- 数据定义语言不能直接执行
41Begin
42 drop table depta;
43End;
44/
45
46-- select不能直接执行
47select --必须使用select into 形式,只能且必须返回一行
48Declare
49 varE empa%rowType; --与表的一行类型一样
50 vno empa.empno%type; -- 与表的某列类型一样
51Begin
52 vno := 7902;
53 select * into varE from empa where empno = vno;
54 DBMS_output.put_line( varE.ename||' '||varE.job);
55End;
56/
57
58inset --可以直接执行
59Declare
60 vno empa.empno%type;
61 vna empa.ename%type;
62 vjob empa.job%type;
63Begin
64 vno := 1236;
65 vna := 'Wing';
66 vjob := 'MANAGER';
67 insert into empa (empno,ename,job) values(vno,vna,vjob);
68End;
69/
70
71delete --可以直接执行
72Declare
73 vno empa.empno%type;
74Begin
75 vno := 5555;
76 delete from empa where empno = vno;
77End;
78/
79
80
81update --可以直接执行
82Declare
83 vno empa.empno%type;
84 rsal empa.sal%type;
85Begin
86 vno := 1236;
87 rsal := 100;
88 update empa set sal = nvl(sal,0) + rsal where empno = vno;
89End;
90/
91
92 --事物控制语言可以直接执行
93Declare
94 vno empa.empno%type;
95 rsal empa.sal%type;
96Begin
97 vno := 1236;
98 rsal := 100;
99 update empa set sal = nvl(sal,0) + rsal where empno = vno;
100 commit;
101End;
102/
103
104 -- 数据安全语言(DCL)不能直接执行
105Begin
106 grant connect to scott;
107End;
108/
- ››oracle 中 UPDATE nowait 的使用方法
- ››Oracle ORA-12560解决方法
- ››Oracle 10g RAC 常用维护命令
- ››Oracle如何在ASM中定位文件的分布
- ››Oracle的DBMS_RANDOM.STRING 的用法
- ››oracle 外部表导入时间日期类型数据,多字段导入
- ››Oracle中查找重复记录
- ››oracle修改用户登录密码
- ››Oracle创建删除用户、角色、表空间、导入导出等命...
- ››Oracle中登陆时报ORA-28000: the account is lock...
- ››Oracle数据库在配置文件中更改最大连接数
- ››Oracle中在pl/sql developer修改表的两种方式
更多精彩
赞助商链接