几个关于正确及错误PL/SQL对照使用的示例
来源:互联网 发布:linux历史命令文件 编辑:程序博客网 时间:2024/05/11 23:16
- /**
- 这是几个关于正确及错误PL/SQL对照使用的示例
- */
- create table test(tid int primary key not null,tname varchar2(50));
- create sequence test_seq start with 1 increment by 1;
- insert into test values(test_seq.nextval,'FLB');
- insert into test values(test_seq.nextval,'FLB1');
- ---------------------------------
- --错误函数1
- create or replace function f
- return int
- begin
- return 5*5;
- end;
- --错误函数2
- create or replace function f()
- return number
- is
- begin
- return 5*5;
- end;
- --错误函数3
- create or replace function f
- return number
- begin
- return 5*5;
- end;
- --该函数的正确函数1
- create or replace function f
- return number
- is
- begin
- return 5*5;
- end;
- --该函数的正确函数2
- create or replace function f
- return int
- is
- begin
- return 5*5;
- end;
- ------------------------------------
- --这是个正确函数,不过调试这个函数花了好几十分钟的时间,不熟悉了
- create or replace function f5
- (pid number)
- return varchar2
- is
- rname varchar2(50);
- cursor cname
- is
- select tname from test where tid=pid;
- begin
- open cname;
- fetch cname into rname;
- return rname;
- end;
- --调用函数用call出错
- call f5(2);
- --调用出错,函数必须有值的接收者
- begin
- f5(2);
- end;
- --这种方法调用不正确
- declare
- r varchar2;
- begin
- r:=f5(2);
- dbms_output.put_line(r);
- end;
- --这种方法调用正确
- begin
- dbms_output.put_line(f5(2));
- end;
- --这种方法调用正确
- declare
- r varchar2(50);
- begin
- r:=f5(2);
- dbms_output.put_line(r);
- end;
- --正确函数
- create or replace function f4
- (ttid in integer)
- return varchar2
- is
- rname varchar(50);
- cursor cname
- is
- select tname from test where tid=ttid;
- begin
- open cname;
- fetch cname into rname;
- return rname;
- end;
- --正确函数
- create or replace function f7
- (n in number)
- return number
- is
- begin
- return n*n;
- end f7;
- ------------------------------------------
- --过程
- create or replace procedure p1
- is
- begin
- dbms_output.put_line('First Procuder');
- end p1;
- --调用过程用call不会出错
- call p1();
- --这种方法调用过程不正确
- begin
- dbms_output.put_line(p1());
- end;
- ----------注意函数与过程的调用的不同处----------
- ------------------------------------------------
- --错误过程
- create or replace procedure p3
- (ttid in Integer)
- is
- rname varchar;
- cursor cname
- is
- select tname from test where tid=ttid;
- begin
- open cname;
- fetch cname into rname;
- dbms_output.put_line(rname);
- end;
- --正确过程
- create or replace procedure p3
- (ttid in Integer)
- is
- rname varchar(50);
- cursor cname
- is
- select tname from test where tid=ttid;
- begin
- open cname;
- fetch cname into rname;
- dbms_output.put_line(rname);
- end;
- 几个关于正确及错误PL/SQL对照使用的示例
- 几个关于正确及错误PL/SQL对照使用的示例
- 关于PL/SQL的使用
- SQL及PL/SQL的使用环境
- PL/SQL 乱码 服务器正确的,PL/SQL乱码
- PL/SQL存储过程示例及图解
- PL/SQL块基本概念及示例
- 关于PL\SQL无法在64位Client下使用的原因及解决办法
- 使用SQL Server2005的几个错误解决方案
- PL SQL找不到正确的TNS文件
- PL/SQL Developer几个使用小技巧
- 关于提升CPC的正确及错误做法
- 关于SQL的几个使用技巧
- PL/SQL Developer 使用错误的tnsnames.ora,如何修改?
- PL/SQL Developer 使用错误的tnsnames.ora,如何修改?
- PL-SQL的使用
- PL/SQL的使用
- 关于SQL Server 游标的使用 示例
- Oracle中常见数据类型转换
- DHC log 2009-2-21
- PL/SQL学习笔记一
- ORACLE使用中的常见、实用的问题
- 在Oracle数据库中,用于数据备份的触发器及表结构
- 几个关于正确及错误PL/SQL对照使用的示例
- Oracle、SQL Server、Access利用SQL语句进行高效果分页
- 利用cursor及fetch将一个表中符合条件的记录拷贝到另一个表中
- LoadString的使用
- Oracle中利用一个表结构拷贝成另外的表
- 数据库设计三大范式应用实例剖析(讲得比较清楚)
- PL/SQL入门
- 杨朱的故事
- Oracle,sqlserver,mysql的自增变量设置