有关正确及错误的"PL/SQL"对照使用示例

正确及错误的"PL/SQL"对照使用示例:

/**

关于正确及错误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;  

(责任编辑:卢兆林)

数据挖掘研究院

数据挖掘研究院

Create By Any-Extract(WL-AE) 数据挖掘实验室

[数据挖掘专家] [数据挖掘研究院] [数据挖掘论坛] [数据挖掘实验室]
上一篇:在Oracle中利用一个表结构拷贝成另外的表
下一篇:在Oracle中用于数据备份的触发器及表结构
最新评论共有 0 位网友发表了评论 , 查看所有评论
发表评论( 不能超过250字,需审核,请自觉遵守互联网相关政策法规。 )
匿名?
数据挖掘网站导航 数据挖掘论坛导航
  • 数据挖掘工具
  • 数据挖掘论坛
  • DataCruncher - Cognos
  • MineSet - MathSoft
  • Intelligent Miner - GainSmarts
  • Sqlserver - SAS - Clementine
  • CART - Weka - WizSoft
  • NeuroShell - ModelQuest
  • data mining tools - Darwin
  • 数据挖掘交友
  • 数据挖掘博客
  • 数据挖掘工具
  • 数据挖掘资源
  • 数据挖掘技术算法
  • 数据挖掘相关期刊、会议
  • 研究院联盟合作专区
  • 数据挖掘基础与相关技术
  • 数据挖掘厂商与就业
  • 数据挖掘研究者乐园
  • 知名厂商数据挖掘工具资料
  • 国内数据挖掘实验室
  • Foreign Data Mining Lab
  • 热点关注
  • IBM放出“毒蛇”欲一统数据库市场
  • Oracle Delivers New Release of PeopleToo
  • Oracle: Separating Numbers and Letters
  • DBA from Crisis to Confidence
  • [Oracle]创建索引对SQL语句执行的影响
  • Oracle9i数据挖掘介绍
  • Oracle TimesTen In-Memory Database
  • Oracle 10G数据库的特性简介
  • Oracle RAC Administration - Part 13: Cac
  • 用Oracle分层管理器实现有效存储数据
  • 论坛最新话题
  • Foundations of Statistical Natural Langu
  • Game Theory meet Data Mining: A Recent P
  • System Building: How does it help or hin
  • 数据挖掘与Clementine培训
  • 新手报到
  • 求 SASEM 客户流失预测分析
  • 数据挖掘工程师/搜索研究院—北京——无线
  • 数据挖掘入门介绍(如何着手数据挖掘)
  • Information Overload Survey Results
  • The INEX 2005 Workshop on Element Retrie
  • 相关资讯
  • Oracle 10g Backup Guide: A Small County
  • Oracle 10G数据库的特性简介
  • Oracle TimesTen In-Memory Database
  • Oracle9i数据挖掘介绍
  • Low–Cost, High–Performance Data Securi
  • Oracle DML Error Logging
  • ORACLE问题,每天10问(十一)
  • 浅析Oracle和SqlServer存储过程的调试、出
  • Oracle数据的异地自动备份
  • Oracle数据库在一台机器配置两个listener
  • 数据挖掘实验室资料
  • 数据挖掘博客地址
  • 数据挖掘实验室网站地址
  • Prepare for Medicare audits by using dat
  • 注册成为SAS用户与爱好者俱乐部会员
  • 水南梅
  • 明日烟
  • 新人报道
  • 下载
  • 厦门服务器托管,450元/月—0592-5177319 高
  • 买空间送域名--0592-5177319 高静