/**
这是几个关于正确及错误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;
分享到:
相关推荐
《oracle pl/sql程序设计(第5版)》基于oracle数据库11g,从pl/sql编程、pl/sql程序结构、pl/sql程序数据、pl/sql中的sql、pl/sql应用构建、高级pl/sql主题6个方面详细系统地讨论了pl/sql以及如何有效地使用它。...
PL/SQL是Oracle公司开发的一种过程化语言,全称为Procedural Language/Structured Query Language,它是SQL的一个扩展,专门用于处理Oracle数据库系统。这个“PL/SQL工具”显然是一个用于辅助管理和操作Oracle数据库...
PL/SQL是Oracle数据库系统中的一个关键组成部分,它是一种过程化语言,专为数据库操作设计。这个"PL/SQL最新中文手册"显然是一份详细解释PL/SQL 7.0版本的指南,对于学习和精通Oracle数据库编程至关重要。以下是手册...
Oracle 10g PL/SQL 是Oracle数据库系统中用于创建和管理存储过程、函数、触发器等数据库对象的编程语言。本教程旨在为初学者提供一个全面的学习平台,同时也为经验丰富的开发者提供参考资料。PL/SQL是Oracle特有的...
"demobld.sql"这个文件名很可能表示一个示例或演示的构建脚本,可能包含了各种PL/SQL代码示例,用于创建和操作数据库对象。在实践中,我们通常会用这样的脚本来创建表、索引、视图、存储过程等。比如,文件可能包含...
此外,"欧普软件园.url"可能是指向一个提供软件下载和相关资源的网站链接,用户可以在那里获取更多关于PL/SQL Developer 11.0的信息和支持。 总之,PL/SQL Developer 11.0是Oracle开发人员不可或缺的工具,其强大的...
在启动PL/SQL Developer后,你会看到一个清晰的工作区,包括多个窗口和面板。主窗口通常包含代码编辑器,左侧是对象浏览器,显示数据库中的表、视图、过程和函数等对象。顶部菜单栏提供各种功能选项,如文件操作、...
通过上述对Oracle 9i PL/SQL程序设计笔记的总结,我们可以看到PL/SQL作为一种强大的数据库编程语言,提供了丰富的功能来支持数据处理、事务控制及业务逻辑的实现。掌握PL/SQL的不同块类型及其使用方法对于开发高效、...
使用64位PL/SQL Developer进行开发时,需要注意以下几点: 1. **兼容性**:确保你的操作系统是64位的,并且Oracle数据库服务器也是64位版本,以保证最佳的兼容性。 2. **驱动程序**:如果需要连接其他应用程序,如...
Oracle PL/SQL程序设计是数据库开发中的核心技能之一,尤其在企业级应用中广泛使用。本书《Oracle PL/SQL程序设计(第5版)》由O'Reilly出版社出版,为学习和理解Oracle数据库的PL/ZIP编程语言提供了丰富的示例代码...
这篇“Oracle经典资料及PL/SQL使用指南”的英文版,将帮助学习者深入理解Oracle数据库的基础概念以及PL/SQL的高级用法。 一、Oracle数据库基础 1. 数据库架构:Oracle数据库采用多层架构,包括物理存储层、逻辑...
1. **PL/SQL编程支持**:PL/SQL Developer内置了强大的PL/SQL编辑器,支持语法高亮、自动完成、错误检查等功能,使开发人员能够高效编写PL/SQL代码。此外,还具备代码折叠、查找替换、书签设置等实用功能,提高了...
在PL/SQL环境中可以使用的SQL语句主要包括以下几种: - **INSERT**:用于向表中插入新记录。 - **UPDATE**:用于更新现有记录。 - **DELETE**:用于删除表中的记录。 - **SELECT INTO**:用于从表中选取数据,并将...
Oracle PL/SQL是一种强大的编程语言,它结合了SQL(结构化查询语言)的数据库操作功能与PL/SQL的程序设计特性,广泛应用于Oracle数据库的开发和管理。这本书"Oracle PL/SQL从入门到精通"的配套源代码,显然是为了...
标题中提到的“PL/SQL开发文档1”,说明本文档是关于PL/SQL开发的入门级指导材料,面向希望学习使用PL/SQL进行数据库程序单元开发的用户。文档很可能是Oracle公司内部或其授权的培训机构用于教学目的的官方材料。 ...
对于初学者,可以从以下几个方面入手学习PL/SQL: 1. **基础语法**:理解PL/SQL的基本数据类型、变量声明、流程控制结构等。 2. **函数和过程**:掌握如何定义和调用自定义函数和过程。 3. **游标**:了解如何使用...
ORACLE PL/SQL是从入门到精通的专业知识,涵盖了数据库开发与管理的多个方面,包括触发器、过程、函数、软件包、异常处理、游标、循环、分支、变量使用、数据库安装等关键知识点。 触发器是数据库中用来保证数据...
以下是一些关于PL/SQL的重要知识点: 1. **变量与常量**:PL/SQL支持声明变量和常量,它们用于存储数据。变量可以在程序执行过程中改变其值,而常量则一旦赋值后不可更改。 2. **数据类型**:PL/SQL有多种内置数据...
从PL/SQL编程、PL/SQL程序结构、PL/SQL程序数据、PL/SQL中的SQL、PL/SQL应用构建、高级PL/SQL主题这6个方面详细系统地讨论了PL/SQL以及如何有效地使用它。《Oracle PL/SQL程序设计(第5版)(套装上下册)》能够帮助...
而“pl/sql快捷插件”则是针对PL/SQL Developer的一个增强工具,它旨在提高用户的开发效率和工作流程。 PL/SQL插件通常包含一系列扩展功能,如代码片段、自动化脚本、自定义快捷键、增强型代码提示以及更高效的...