今天遇到一个错误提示:ORA-06502:PL/SQL :numberic or value error: character string buffer too small,一般对应的中文信息为:ORA-06502: PL/SQL: 数字或值错误 :字符串缓冲区太小.仔细检查调试过程中才发现是开发人员定义了一个变量,但是在脚本里面赋予了该变量超过其长度的值.结果就报这个错误.我习惯总结每一个遇到的错误信息,既有利于学习.总结知识,也方便以后遇到此类问题能够及时给出解决方法. 如果执行oerr…
在最简单的plsql块编程中出现这个错误,是因为 DBMS_OUTPUT.PUT_LINE('the x is '+x);这里面不能用“+”,而是要用“||” DECLARE x number; ; DBMS_OUTPUT.PUT_LINE('the x is '||x); END;…
As we all known,程序的错误一般分为两类:编译错误和运行时错误.其中运行时错误被称为异常.PL/SQL语句块中处理异常的部分即为异常处理部分.在异常处理部分,可以指定当特定异常发生时所采取的动作. PL/SQL有两种类型的异常:内置异常和用户自定义异常. 其中,内置异常又分为预定义异常和非预定义异常. 一.内置异常 首先试举一例来抛砖引玉. DECLARE v_ename ); v_empno ) := &v_empno; BEGIN SELECT ename INTO v_ena…
EXCEPTION抛出异常 处理除数为零异常 declare varA number; begin varA:=10/0; dbms_output.put_line('IT WILL NOT WORK'); EXCEPTION when zero_divide then --when 后面加的是异常名称 dbms_output.put_line('it can not be zero'); dbms_output.put_line('SQLCODE= '||SQLCODE);--异常编号 END…
1)数据类型 TSQL PL/SQL numeric(p,s) numeric(p,s) or NUMBER(p,s) decimal(p,s) decimal(p,s) or NUMBER(p,s) char(m) Char(m) varchar(m) varchar2(m) datetime date 记录 Record 表字段 %type 表记录 %rowtype 表 Table 自动增长变量 AUTOINCREMENT 2)变量声明.赋值与引用 TSQL PL/SQL 声明 declar…
目录(?)[+] 1. 问题起因 最近在进行Oracle的一些操作时,总会遇到这个错误:  ORA-06502: PL/SQL: 数字或值错误 :  字符串缓冲区太小,错误如下: ORA-00604: 递归 SQL 级别 1 出现错误 ORA-06502: PL/SQL: 数字或值错误 :  字符串缓冲区太小 ORA-06512: 在 line 7 2.官方解释 查看官方文档上的解释: ORA-06502: PL/SQL: numeric or value errorstring Cause:…
If you write DDL directly in PL/SQL. You will hit error. 1 DECLARE 2 str_sql varchar2(500); 3 begin 4 create table test (id number); 5 end; 6 / create table test (id number); * ERROR at line 4: ORA-06550: line 4, column 2: PLS-00103: Encountered the…
--PL/SQL语言(procedure language 过程化语言) --1.声明类型 declare k number; m ; --Character String buffer too small问题 --pname varchar2(4); --所以更换声明 pname emp.ename%type; --查询一行用表名声明 prow emp%rowtype; begin k:; dbms_output.put_line(k); dbms_output.put_line('原样输出…
子类型具有与其基本类型相同的操作,但只有基本类型有效值的子集. 例如,PL/SQL预先定义子类型CHARACTER和INTEGER,如下所示: SUBTYPE CHARACTER IS CHAR; SUBTYPE ,); 并且,可以定义和使用自己的子类型: DECLARE SUBTYPE name ); SUBTYPE message ); salutation name; greetings message; BEGIN salutation := 'Reader '; greetings :…
PL/SQL Developer 是一款流行的oracle开发与管理的IDE. 在登录PL/SQL Developer时所选择的数据库依赖于tnsnames.ora文件中的信息. 如果我们安装了多个oracle的客户端,到底PL/SQL Developer使用那个客户端下的tnsnames.ora呢? 这个可以在PL/SQL Developer-->帮助-->支持信息-->信息的tab页中找到TNS File.这个参数配置的就是你使用的tnsnames.ora TNS File  D:\…