首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

PLSQL --> 动态SQL常见错误

--============================ -- PL/SQL --> 动态SQL常见错误 --============================ 动态SQL在使用时,有很多需要注意地方...本文介绍了动态SQL常见问题。 一、演示动态SQL使用 下面的示例中,首先使用动态SQL基于scott.emp创建表tb2,然后里直接使用动态SQL从新表中获取记录数并输出。...再接下来是定义了一个动 态PL/SQL代码并执行以获取当前系统时间,最后使用动态SQL对新表进行更新。...SQL常见错误 1.使用动态DDL时,不能使用绑定变量 下面的示例中,在创建表示,使用了绑定变量:dno,在执行时候收到了错误信息。...ORA-06512: at line 13 处理办法 去掉动态PL/SQL 块尾部斜杠 5.空值传递问题 下面的示例中对表tb_emp更新,并将空值更新到sal列,直接使用USING NULL

2.1K20

pl sql developer中CnPlugin插件,sql代码自动补全提示,批量添加单引号「建议收藏」

一.安装 使用pl sql developer版本7以上,下载CnPlugin插件,文件解压缩后,将里面的CnPlugin.dll和CnPlugin文件夹放到你pl sql安装路径中PlugIns...pl sql developer软件,会显示出你安装CnPlugin插件 三.打开插件 汉化版:在菜单栏工具–>配置插件 里面配置 CnPlugin 英文版:在菜单栏 Tools –> Configure...Plug-Ins里面配置 CnPlugin 四.设置 点击上图红框进入,来到下图页面,在①处设置快捷键,在②处显示快捷键对应完整代码,在③处为触发快捷键方式(可以设置为Tab键或者空格键)。...例如:在你sql窗口中,输入be,然后按空格键,则自动补全②处完整代码 五.批量添加单引号 汉化版:在菜单栏工具–>首选项–>键配置 在右侧找到 plugins/cnplugin/expaste...,然后随便输入你键盘按键来设置它快捷键,此处为ctrl+d,然后保存 六.添加 在sql窗口中,输入字符串666,777,888,999 然后选中它,按刚才设置快捷键ctrl+d,理想情况是让它变成

3.5K30
您找到你想要的搜索结果了吗?
是的
没有找到

【DB笔试面试445】Oracle中异常可以分为哪几类?

预定义异常用于处理常见Oracle错误,对这种异常情况处理,无需在程序中定义,由Oracle自动将其触发。它们全部放在PL/SQL自带标准包中,这样程序员就无需再次定义了。...试图被零除 ORA-01722 INVALID_NUMBER 转换一个数字失败 ORA-06500 STORAGE_ERROR 内存不够或内存被破坏触发内部错误 ORA-06502 VALUE_ERROR...使用预定义异常只能处理系统预定义20多个Oracle错误,而当使用PL/SQL开发应用程序时,可能会遇到其它一些Oracle错误。例如,在PL/SQL块中执行DML语句时,违反了约束规定等等。...Oracle提供了2个函数SQLCODE和SQLERRM用于返回错误信息: l SQLCODE:返回错误代码 l SQLERRM:返回与错误代码关联消息 这样就可以在错误日志表中记录程序在执行过程中发生错误信息了...当与一个异常相关错误出现时,就会隐含触发该异常。用户定义异常是通过显式使用RAISE语句来触发。当触发一个异常时,控制程序就转到异常块部分,执行错误处理代码

1.7K10

MOS文章实验:ORA-01722 from Queries with Dependent Predicates

Predicates (文档 ID 232243.1)》,整篇文章目的就是为了阐述对于包含相互依赖关系谓词SQL语句产生错误可能原因(To explain the possible causes...文章指出可能错误类型包括以下几种:   ORA-01722 invalid number ORA-01790: expression must have same datatype as corresponding...当使用松散类型('loose typing')字段,且包含可变谓词顺序场景下,在类型转换发生之前如果不能删除会产生错误列值,那么就有可能产生上述一些类型转换错误。...会提示to_number处理存在无效数字。...对于data列中22这个记录,包含NUMBER数字类型,因此转换是有效,但对于其他行,这种转换就是无效,因为不包含等价数值,例如'Pet Foods Inc'。

71920

JavaEE 项目常见错误汇总

(3)方法三 修改Tomcat配置文件server.xml中端口号。 修改8080端口为其它端口号。 注意事项:这个错误与eclipse和操作系统位数没关系。 2....Cause: java.sql.SQLException: ORA-01722: 无效数字 原因——本质原因是入参和数据库表字段数据类型不匹配,报错可能存在以下两种情况: (1)可能一:入参数据类型不对...=4099; // 没错 oracle数据库 sql 语句中=是用数字比较,因此 oracle 会自动把字符串类型转换成数字进行比较。...在eclipse关闭其它项目后,仍然会出现该问题,但是控制台日志会出现和其它已关闭项目相关错误。 原因: 不确定。 解决: 删除其它在Tomcat webapp目录下暂时不运行项目。...java.sql.SQLException: 无效列类型 数据类型与数据库表不一致

1.6K20

PLSQL编程基础简介及实践

在普通SQL语句使用上增加了编程语言特点,所以PL/SQL就是把数据操作和查询语句组织在PL/SQL代码过程性单元中,通过逻辑判断、循环等操作实现复杂功能或者计算程序语言。...4、使用说明 1、允许语句:  可使用INSERT、UPDATE、DELETE、SELECT INTO、COMMIT、ROLLBACK、SAVEPOINT语句,在PL/SQL中需要以动态方式使用DDL...可以不用知道列数据类型、当列数据类型改变后,修改pl/sql代码 被赋值变量与select中列名要一一对应。...2、异常情况(exception)指在正常执行过程中未预料事件,程序块异常处理预定义错误和自定义错误,运行PL/SQL块时一旦产生异常而没有指出如何处理时,就会自动终止整个PL/SQL运行。...: sqlcode:错误编号 如:6502 sqlerrm:错误消息 如:ORA-06502: PL/SQL: 数字或值错误 : character string buffer too small (<

1.4K20

Oracle数据库,浅谈PLSQL异常处理

众所周知,程序错误一般情况下分为两类:编译错误和运行时错误。其中运行时错误被称为异常。PL/SQL语句块中处理异常部分即为异常处理部分。在异常处理部分,可以指定当特定异常发生时所采取动作。...本文我们就来聊一聊PL/SQL异常处理那些事儿。 ? PL/SQL有两种类型异常:内置异常和用户自定义异常。其中,内置异常又分为预定义异常和非预定义异常。...当输入员工编号存在时,输出员工姓名,当员工编号不存在时,会有运行错误。...综上所述,我们发现预定义异常错误代码有名称,譬如上文提到NO_DATA_FOUNG,而非预定义异常只有错误代码,没有名称,如上文提到ora-02292。...这时可以通过EXCEPTION_INIT编译指令进行错误代码和名称关联。当PL/SQL语句块可执行部分出现某个运行错误时,会抛出不同类型异常。

68220

故障分析 | MySQL 隐式转换导致诡异现象案例一则

Oracle 执行直接报错,提示"无效数字",因为 a 是 VARCHAR2、0 是数字,因此报错是针对字段 a ,需要将 a 转成数字,但字符是无法转成数字,所以提示 "无效数字" 是合情合理。...ORA-01722: 无效数字 SQL Server 执行直接报错,但是提示信息更加清晰明了,说就是字段 a 值 "测试a" 不能转成 INT 数值型。...小结 通过以上对比,可以知道 Oracle 和 SQL Server 对 "字符型=数值型" 条件,会自动将字符型类型转成数值型,如果因为值问题不能转成数值型,就会提示错误,而 SQL Server...毕竟对产品来说,避免错误可能比表面上能执行更加重要,但就这个问题上,Oracle 和 SQL Server 可以说更胜一筹。 2.3 问题分析 MySQL 为什么在这里会给出错误结果?...3总结 我不知道这种设计是出于什么考虑,但这种"容错性"不可取,毕竟返回了错误结果集。 当然,这个问题也和数据类型使用有关,SQL 条件中 "a=0" 实际上是 "varchar=int"。

22440

Oracle优化器对谓词顺序处理一个场景

如下测试,在Oracle 11g执行,提示错误,认为to_number变量存在非法数值类型, SQL> select to_number(c2) as value, c1 from test where...from dual * ERROR at line 1: ORA-01722: invalid number 从这儿我们还可以知道一点,就是Oraclewhere各条件位置其实并不重要...说明了Oracle真正执行语句是经过他优化器调整“他认为”路径,但这个路径很可能导致语句执行错误,如上示例中,如果先执行c1='3',再执行to_number(c2),应该就可以。...如果按照语义,改造一下,子查询中指定where c1='3',打算得到c2都是数值字符串类型,然后在外层where value(to_number(c2))>2,但是仍然报"ORA-01722: invalid...例如c1存储就是“数字”,如果定义为字符串类型,varchar2还好,char就出现了上述执行错误场景,如果“数字”就使用数值类型number存储,就会绕过这个坑,同理,像“日期”用字符串类型存储存在相同问题

55050

Oracle PLSQL中异常高级特性

在OraclePL/SQL语句块中exception异常处理部分是非常重要组成部分,它决定了在PL/SQL语句块内部可执行部分在发生异常错误时,程序是友好地提示:程序遇到某些错误而无法执行,还是抛出一堆难以理解...ORA-06512: at line 11  - 示例解析:该PL/SQL代码会根据用户输入员工Id,查询员工姓名和工资。...PL/SQL procedure successfully completed.  - 这下抛出错误就容易理解多了。...PL/SQL procedure successfully completed. - 在本代码中使用了raise_application_error,由于单纯使用raise_application_error...在异常处理部分,我们使用了一个PL/SQL语句块来处理这个错误,声明两个变量,并将SQLCODE和SQLERRM以字面值赋值方法给这两个变量。

61610

Oracle PLSQL编程之基础

begin         /*执行部分---要执行pl/sql语句---要执行pl/sql语句和sql语句*/         exception         /*例外处理部分---处理运行错误...        end; 2、下面通过实例了解pl/sql块 2.1、一个超级简单pl/sql块 ?...上图是一个简单pl/sql块,输出hello world,红框内是打开系统输出选项,绿框(dbms_output)是Oracle所提供包(类似Java开发包),该包包含一些过程,put_line...就是dbms_output包一个方法 2.2、包含定义部分和执行部分pl/sql块 ?...2.3、pl/sql例外处理 在上面的实例代码中存在一个问题,当我们输入编号(empno),在emp表中不存在时,那么程序就会报错,当我输入42345345时,程序就会报以下错误, ?

83380

Oracle使用总结之异常篇

1.2.2 在声明部分引发异常错误 1.3 异常错误处理编程 1.4 在 PL/SQL 中使用 SQLCODE, SQLERRM异常处理函数 即使是写得最好PL/SQL程序也会遇到错误或未预料到事件...任何ORACLE错误(报告为ORA-xxxxx形式Oracle错误号)、PL/SQL运行错误或用户定义条件(不一写是错误),都可以。...当然了,PL/SQL编译错误不能通过PL/SQL异常处理来处理,因为这些错误发生在PL/SQL程序执行之前。...一种为用户自定义异常,内部异常是执行期间返回到PL/SQLORACLE错误或由PL/SQL代码某操作引起错误,如除数为零或内存溢出情况。...用户自定义异常由开发者显示定义,在PL/SQL块中传递信息以控制对于应用错误处理。 每当PL/SQL违背了ORACLE原则或超越了系统依赖原则就会隐式产生内部异常。

2K60

对于Oracle兼容,我们手拿把掐

引擎包括: 1)SQL语法功能,如CONNECT BY,  P/L SQL, Packages; 2)Oracle功能特性,如压缩, 索引,结果集缓存,自动负载管理; 3)Oracle诊断能力,如错误码...PL/SQL语法兼容 PL/SQL语法兼容Oracle 存储过程、函数创建,如:以IS作为PLSQL块定义开始、可以用/作为定义结束 存储过程、函数支持COMMIT、ROLLBACK事务控制 兼容游标属性支持...PL/SQL - 语法 Oracle存储过程/函数语法特点: 以IS作为代码起始定义 使用/作为结束定义结束 使用END procname作为函数代码块结束、等 PostgreSQL存储过程/函数语法特点...: 以AS作为代码起始定义 使用;作为定义结束 使用$$定义整体代码块、等 9....TDSQL Pro*C功能兼容 支持了变量声明、建立连接、基础SQL语句、预编译语句、游标、简单动态 SQL、ANSI 动态 SQL错误处理语句等8类场景,约24个语法用法兼容 四、Oracle

1.9K20
领券