- 1、本文档共12页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
请仔细填写文档简介。如果是PDF扫描型文档则更应该简介,将增加至少百分之六十的访问量。
一. 使用PL/SQL
1. 属性类型:
1.列类型: %TYPE
varable tableName.columnName%TYPE;
2.行类型: %ROWTYPE
varable tableName%ROWTYPE;
3.使用行类型:
varable.列名;
2. 控制结构:
1.条件控制结构:
a) if condition then exp_body
end if;
b) if condition then exp_body
else exp_body end if;
c) if condition then exp_body
elsif condition then exp_body
else exp_body end if;
3. case 语句: case 同 select 时 when 后面不能加;
1. sql中:
a) select 别名=case
when 条件 then 值
when 条件 then 值
else 值
end from 表
b) select case 列名
when 值 then 值
when 值 then 值
else 值
end from 表
2. oracle中:
a) select case 列名
when 值 then 值
when 值 then 值
else 值
end case from 表明
b) select case
when 列名=值 then 值
when 列名=值 then 值
else 值
end case from 表
4. 循环:
1) Loop condition End loop
2) While condition Loop exp_body End loop
3) For varable in [REVERSE] value1...value2 ( varable 变量不许声明 , ... 是范围连接符 )
Loop exp_body End Loop
5. 退出条件:
exit;
exit when condition ;// 用来结束循环
6. 顺序控制: 必须要指定条到那里去 , 将无条件地将控制权转到标签指定的语句, 标签是用双括号括起来的标识符且必须是唯一的名称(只能从 if , case , loop 语句块中跳出来)
if 12 then
goto quit ;
else
goto updation;
end if;
quit --标签
exit;--标签指定的语句
updation --标签
select * from dual; --标签指定的语句
7. 动态SQL : 只能用于处理返回单行或没有返回的SQL 语句, 要处理返回多行的动态SQL请使用ref游标 的 open ... for 语句 (需要放在块中执行)
sql:= select * from dept where deptno = :deptno; // :deptno 代表一个占位符
Execute Immediate sql [into 行类型变量] [using 参数值]
8. 异常处理:
1)自定义异常:
a)定义异常:(位 declare和 begin之间)
DECLARE varable EXCEPTION;
b)显示引发异常(为 begin 和 end 之间):
RAISE varable;
2)处理预定义异常:(位 begin 和 end 之间)
EXCEPTION
when Too_Many_ROWS then
DBMS_OUTPUT.PUT_
文档评论(0)