几个关于正确及错误PL/SQL对照使用的示例

PL/SQL连接并导入/导出Oracle数据(适合小白教程,有效减少错误) 在安装Oracle和PL/SQL,然后登录连接数据库,导入/导出.dmp.csv文件时,会遇到各种各样的错误。 为此,总结了以下步骤:【适用于第一次使用PL/SQL和Oracle的小白】 1 安装注意点 1.1 安装Oracle数据库 按照网上指导的方式安装。 安装包推荐:Oracle11【链接】,安装过其他版本,有一些存在问题,这个版本可以。 注意点: 1. 先安装Oracle数据库,再安装PL/SQL或其他客户端; 2. 某些网上资源的oci.dll文件可能有问题,亲测该资源... 阅读详情

/**

这是几个关于正确及错误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概述、基本概念 阅读详情

相关推荐

RimWorld Mod开发避坑指南:从Defs命名规范到XML结构详解(附实战代码)

本文深入解析RimWorld Mod开发中Defs文件的编写规范与高级技巧,涵盖命名冲突预防、XML结构优化及高级功能实现。通过实战代码示例,帮助开发者避开常见陷阱,提升Mod兼容性与稳定性,特别适合RimWorld Mod开发者参考。

weixin_30790841的博客 450

Makefile_mini2440

VERSION = 2PATCHLEVEL = 6SUBLEVEL = 29EXTRAVERSION = .4NAME = Temporary Tasmanian Devil# *DOCUMENTATION*# To see a list of typical targets execute "make help"# More info can be located in ./README#

自由海,含着风! 1493

Unity与IOS交互,调用IOS系统相机和相册

与IOS的交互,在步骤上要比android简单许多,不会产生因为系统版本,或者包名导致的许多问题。过程中最头疼的一个问题是IOS回调Unity,很简单的一个问题,搞了半天。

Hello Mingo 1万+

使用PL/SQL中出现ORA-06550错误

在PL/SQL块中执行一个创建表的语法,如: begin     create table emp_tmp as select * from emp; end; 在SQL*plus中执行时会提示ORA-06550的错误。 这是因为在PL/SQL代码中只能使用DML语句,如果在代码中直接使用DDL语句,则会出现上述错误。在PL/SQL中处理DDL语句的方式是使用动态SQL,如果将上述代码改

wen_demon的专栏 9万+

超实用!用 Ollama + DeepSeek + Dify 搭建本地知识库,提升企业效率

本文介绍了如何使用 Ollama + DeepSeek + Dify 搭建本地知识库,帮助企业高效管理信息。通过简单配置,可实现智能问答、文档检索等功能,提升效率并保障数据安全。

Happiness is everywhere 4294

USB 3.0 高清音视频采集芯片——MS2130

MS2130 是一款 USB 3.0 高清视频和音频采集芯片,内部集成 USB3.0 Device 控制器、数据收发模块、音视频处理模块。

YOU_SeMi的博客 7858

PL/SQL之异常错误处理

PL/SQL之异常错误处理

hcyxsh的博客 1164

Class AB OPA STB仿真相位异常:从corner case到碰撞电离的排查与规避

本文深入分析了Class AB运算放大器(OPA)在STB稳定性仿真中,特定工艺角(corner case)下出现相位从0°开始的异常现象。排查发现,其根本原因在于高Vds引发的碰撞电离效应,通过衬底和电源网络引入了隐藏的正反馈通路。文章对比了修改衬底连接与优化电路降低Vds两种解决方案,并基于工程实践推荐了代价更小、兼容性更好的电路优化方案,成功规避了问题并完成流片验证。

grape的博客 635

PL/SQL-->动态SQL的常见错误

PL/SQL-->动态SQL的常见错误     动态SQL在使用时,有很多需要注意的地方,如动态SQL语句结尾处不能使用分号(;),而动态PL/SQL结尾处需要使用分号(;),但不能使用正 斜杠结尾(/),以及schema对象不能直接作为变量绑定。本文介绍了动态SQL的常见问题。   一、演示动态SQL的使用     下面的示例中,首先使用动态SQL基于scott.emp创建表tb2,然后直

塔山上的山 1336

YOLOv26与其他目标检测算法的对比分析

本文对YOLOv26与其他主流目标检测算法进行了全面对比分析。YOLOv26在COCO数据集上达到96.0% mAP@0.5和79.0% mAP@0.5:0.95,显著优于其他YOLO系列算法,同时保持85FPS的推理速度和35MB的轻量级模型。相比两阶段算法(如Faster R-CNN),YOLOv26在速度、模型大小和内存占用方面优势明显;相比Anchor-free算法(如CenterNet),YOLOv26在速度和模型压缩方面更优。其核心创新包括动态锚框分配、自注意力机制和轻量级设计,使其成为适用于复

一键难忘的博客 993

实验三、数字PID控制器的设计

由图可知,由于微分环节的作用,在曲线的起始上升段出现了一个尖锐的波峰,之后曲线也呈衰减的振荡:随着Td增加,系统的超调量增大,但曲线尖锐的起始上升阶段后响应速度减慢,可以看出Td越小。对大多数算法,缩短采样周期可使控制回路性能改善,但采样周期缩短时,频繁的采样必然会占用较多的计算工作时间,同时也会增加计算机的计算负担,而对有些变化缓慢的受控对象无需很高的采样频率即可满意地进行跟踪,过多的采样反而没有多少实际意义。随着Kp的增加,闭环系统的超调量增加,响应速度加快,控制时间加长,稳态误差减少;

m0_51738372的博客 8022

PL/SQL 异常错误处理

异常错误处理 一个优秀的程序都应该能够正确处理各种出错情况,并尽可能从错误中恢复。ORACLE 提供异常情况(EXCEPTION)和异常处理(EXCEPTION HANDLER)来实现错误处理 ①有三种类型的异常错误: 1. 预定义( Predefined )错误     ORACLE预定义的异常情况大约有24个。对这种异常情况的处理,无需在程序中定义,由ORACLE自动将其引发

不积跬步无以至千里,不积小流无以成江海 3243

RT-DETR改进策略【损失函数篇】| 通过辅助边界框计算IoU提升检测效果(Inner_GIoU、Inner_DIoU、Inner_CIoU、Inner_EIoU、Inner_SIoU)

为了弥补现有 IoU 损失在不同检测任务中泛化性弱和收敛速度慢的问题,·Inner-IoU·通过引入比例因子 “ratio” 来控制辅助边界框的尺度大小,利用不同尺度的辅助边界框来计算损失,从而加速边界框回归过程。

Limiiiing的博客 1962

第七章 控制PL/SQL错误

/* banner */#banner { position:static; top: 0px; left: 0px; width: 100%; height: 98px; background-repeat:no-repeat; background-image: url(../images/banner.gif); background-positi

KNIGHTRCOM(rcom10002的专栏) 4565

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

PL/SQL:ORA-04063错误解决方法

开发公司根据业务的需要,在本地创建了大量的使用dblink方式去访问远程数据库的数据的SYNONYM(同义词),其实,本地业务用户通过dblink可以访问远程数据库的同义词,如:select * from a.table@dbl...

cuijiaoru6165的博客 2715

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

PL/SQL Initialization error Could not initialize 问题

今天把之前使用PL/SQL遇到的一个问题跟大家分享一下我的解决办法。其实之前用PL/SQL一直没遇到问题,换了新笔记本(预装的是64位的系统)就出现了问题。   具体问题: 之前我在 x64 的 Win8.1 (其实在公司系统是win7的电脑上我也遇到了同样的问题)上安装了 Oralce 后(版本:win64_11gR2_client),使用PL/SQL 连接数据库时,弹出下面的错误: (...

猫玛尼的技术之路 3万+

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

查看PL/SQL编译时的错误信息

查看PL/SQL编译时的错误信息 转自:http://blog.youkuaiyun.com/leshami/article/details/6913026 编译无效对象是DBA与数据库开发人员常见的工作之一。对于编译过程中的错误该如何去捕获,下面给出两种捕获错误的方法。 一、当前数据库版本信息及无效对象 1、查看当前数据库版本 SQL> select * from v$version; BANN

塔山上的山 1409

PL/SQL基础

PL/SQL基础 一.PL/SQL块简介块(Block)是PL/SQL的基本程序单元,编写PL/SQL程序实际就是编写PL/SQL块。要完成相对简单的应用功能,可能只需要编写一个PL/SQL块;而如果要实现复杂的应用功能,那么可能需要在一个PL/SQL块中嵌套其他PL/SQL块。编写PL/SQL应用模块,块的嵌套层次没有限制。 1.1   PL/SQL块结构PL/SQL块由

3304

oracle PL/SQL入门--创建表

1.创建一个简单的表 create table xuhy_user_info ( user_id number not null, user_name varchar2(50), user_age number, user_sex varchar2(10) ) 2.为表创建序列

Sicily_winner的博客 2698

pl/sql错误处理

当我们在调用select语句给变量赋值时,如果有多个值存在,则会有too_many_rows错误,如果没有数据被检索到,会发生no_data_found错误。     在pl/sql中,exception关键字,用来捕获错误,类似于java中的try{}catch语句块。       too_many_rows错误:   declare v_temp number(4); begi

shizhan1881的专栏 1206

Oracle PL/SQL编程:异常错误处理

原文链接:传送门   本篇主要内容如下: 异常处理概念 预定义的异常处理 非预定义的异常处理 用户自定义的异常处理 用户定义的异常处理 异常错误传播 在执行部分引发异常错误 在声明部分引发异常错误 异常错误处理编程 在 PL/SQL 中使用 SQLCODE, SQLERRM异常处理函数    即使是写得最好的PL/SQL程序也会遇到错误或未预料到的事件。一个优秀的程序都应该能够正...

weixin_34278190的博客 420

使用PL/SQL

PL/SQL 简介标准SQL没有的特征PL/SQL 的优点PL/SQL 块简介PL/SQL 块举例变量和常量数据类型数字数据类型字符数据类型日期时间和布尔数据类型属性类型复合类型自定义类型逻辑比较控制结构条件控制IFCASE循环控制异常处理 机制常见异常类型引发应用程序错误 PL/SQL 简介 PL/SQL 是过程语言(Procedural Language)与结构化查询语言(SQL)结合而成的编程语言 PL/SQL 是对 SQL 的扩展 支持多种数据类型,如大对象和集合类型,可使用条件和循环等控制结构 .

weixin_44342481的博客 167

ORACLE PL/SQL 异常错误处理

http://wenku.baidu.com/link?url=I0l6Dz_6SSi_BOIvFL2_Qu7nGoB3kgPhVrYvjBOj8bLYqZHJIxJ5vC9dosACxglMSXXhVmX9qy32ASY5wcML4cy54Gk8PrWPtrqAPYA_nxG

罗罗的专栏 3389
上一篇: QQ这一家人,呵呵,乐死你
下一篇: 使用该JavaBean可以将数据在JSP页面中以表格的形式显示出来,并具有动态排序、动态生成查询、自动分页功能
冯立彬
冯立彬 优质创作者: 编程框架技术领域 优质创作者: 编程框架技术领域
博客等级 码龄21年 5458粉丝 593原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值