- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
oracle database 11g,plsql 编程实战笔记概要1
Chap1
DML语句是select 、insert、update、delete和merge
DDL语句是create、alter、drop、rename、truncate、comment
DCL语句是grant、revoke
TCL语句是commit、rollback和savepoint
sql16个基本命令——参考书《OCA认证考试指南(IZ0-051)》清华大学出版社
《oracle database sql language reference 11g》有非遵循格式字符串依赖于格式掩码
chap2
2.1.3 关于语句中有多个单引号时处理:
1、
select Its a bird,no plan cant be as pharse
from dual; 此处两个单引号即为一个单引号
2、只能用q 再加’(语句)’
select q(Its a bird,no plan cant be) as pharse
from dual;
均输出
PHARSE
Its a bird,no plan cant be
2.1.4
定义变量与申明变量的区别:
定义变量即为变量分配名称并指定数据类型;申明变量首先需要定义变量,然后为其赋值。(赋值也称为初始化)
替代变量前面要加前缀 且若替代变量为字符型时要加两个单引号 如’a’
declare
lv_whom varchar2(20);/*lv-whom为申明变量,a为替代变量,a没有变量类型*/
begin
lv_whom := a;
end;
或者
declare
lv_whom varchar2(20);
begin
lv_whom := a;
end;但是要在输入框中字符加两个单引号
替代变量用define申明,且定义时不可以指定类型,默认为char型
①Define x=emp;
Select * from x; /*调用要用,此处不加单引号,解析后即为emp表*/
② define x=adasd;
select x z from dual;/*此处解析后变为select adasd z from dual ,此处必须要有单引号,使adasd作为直接变量,否则出错*/
所以替代变量是否加单引号要根据解析的值来确定
注意:避免在声明块中将任何实参赋给局部变量 (constant变量除外),且替代变量与绑定变量都不应该在声明块中赋值
定义为constant的变量,必须在申明块中申明,这意味着常量必须先定义,再给他赋一个不变的值
绑定变量(bind)用var或variable申明
使用冒号(:)作为前缀
var a number
begin
:a := 22;
end;
上面也可以输出结果,下面也可以输出结果,但二者不能同时放一块
print a; /*此处a前面不能加冒号,print可用来输出所有类型的变量*/
另外也可通过exec直接给绑定变量赋值:
SQL var x number /*必须要先定义再赋值,而替代变量定义时不需指定类型,直接赋值即可*/
SQL var y number
SQL exec :x :=1;:y :=2;/*exec 等价于begin … end*/
PL/SQL procedure successfully completed
x
1
y
2
也可以先定义好绑定变量,再将其赋给其他变量:
var a number
begin
:a := 22;
end;
现将其运行再
declare
lv_a number;
begin
lv_a:= :a;
dbms_output.put_line(hello,||lv_a||.);
end;
结果:hello,22.
将上面的代码放入到d:\q.sql中用@d:\q.sql;调用即可,但是里面的代码要正确
2.1.5命名块
1、过程块
create or replace procedure abc (aa varchar2) is
begin
dbms_output.put_line(sdhl||aa);
end;
exec abc(dkjdhhdj);
可能出现
错误一:【ORA-00955: 名称已由现有对象使用】
这个错误说的不仅仅是有可能你有存储过程使用了【】,还有可能是你有表名叫【】或者其他oracle对象叫【】。
说明:其实由于你已经使用了【create or repalace procedure】即使有存储过程叫【】也会被覆盖掉,你用下面的命令查询一下,有什么对象叫【】,删掉它或者换一个存储过程名字。
【SELECT OBJECT_NAME,OBJECT_TYPE FROM USER_OBJECTS W
您可能关注的文档
最近下载
- 劳动能力鉴定课件.ppt VIP
- 第十六讲文明新路与人类命运共同体-中华民族共同体概论专家大讲堂课件.pptx VIP
- 2025届高考数学抛物线中的八个常考二级结论与秒杀模型(解析版).pdf VIP
- 课题申报书:科学教育背景下开展初中物理项目化实践的路径研究.docx VIP
- 《劳动能力鉴定》PPT课件培训讲学.ppt VIP
- 商业插画高职全套教学课件.pptx
- EBZ掘进机电气原理讲解.ppt VIP
- 《石油化工企业设计防火标准》gb5060-2008局部修订2018年版.docx VIP
- 义务教育版(2024)七年级全一册信息科技 第4课 数据分包灵活传 课件.pptx VIP
- 初中物理大单元教学研究.docx VIP
文档评论(0)