oracle database 11g,plsql 编程实战笔记.doc

oracledatabase11g,plsql编程实战笔记要点

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

文档评论(0)

1亿VIP精品文档

相关文档