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

Oracle 错误总结及问题解决 ORA「建议收藏」

ORA-01411: 无法在指示器中存储列长度 ORA-01412: 此数据类型不允许零长度 ORA-01413: 压缩十进制数字缓冲区中的非法值 ORA-01414: 尝试对数组赋值时的无效数组长度...ORA-01723: 不允许长度为 0 的列 错误说明:当create table时存在null列,则会报此错误 ORA-01724: 浮点(数)精确度超出范围(1 到 126) ORA-01725:...: 不是 SELECTed 表达式 ORA-01792: 表或视图中的最大列数为 1000 错误说明:ORACLE支持表或试图最多列数为1000,每一个块最大支持255列 ORA-01793: 索引列的最大数为...ORA-12053: 这不是一个有效的嵌套实体化视图 ORA-12054: 无法为实体化视图设置 ON COMMIT 刷新属性 说明;当创建远程DBLINK的表为本地物化视图的时候报此错误。...:错误的引起是由于更改了分区表的字符长度(从varchar(10)改为varchar(11)) 错误解决:1、创建与分区表结构数量一直的普通表;2、用exchange partition 交换分区表与普通表

22.8K20

MySQL的sql_mode模式说明及设置

STRICT_TRANS_TABLES: 在该模式下,如果一个值不能插入到一个事务表中,则中断当前的操作,对非事务表不做限制 NO_ZERO_IN_DATE: 在严格模式下,不允许日期和月份为零 NO_ZERO_DATE...: 设置该值,mysql数据库不允许插入零日期,插入零日期会抛出错误而不是警告。...如果设置的是宽松模式,那么我们在插入数据的时候,即便是给了一个错误的数据,也可能会被接受,并且不报错,例如:我在创建一个表时,该表中有一个字段为name,给name设置的字段类型时char(10),如果我在插入数据的时候...改为严格模式后可能会存在的问题: 若设置模式中包含了NO_ZERO_DATE,那么MySQL数据库不允许插入零日期,插入零日期会抛出错误而不是警告。...例如表中含字段TIMESTAMP列(如果未声明为NULL或显示DEFAULT子句)将自动分配DEFAULT '0000-00-00 00:00:00'(零时间戳),也或者是本测试的表day列默认允许插入零日期

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

    Java面试之数据库面试题

    存储过程是一个预编译的SQL语句,优点是允许模块化的设计,就是说只需创建一次,以后在该程序中就可以调用多次。如果某次操作需要执行多次SQL,使用存储过程比单纯SQL语句执行要快。...索引可以是唯一的,创建索引允许指定单个列或者是多个列。缺点是它减慢了数据录入的速度,同时也增加了数据库的尺寸大小。 6、什么样的字段适合建索引 唯一、不为空、经常被查询的字段 7、索引类型有哪些?...视图:是一种虚拟的表,具有和物理表相同的功能。可以对视图进行增,改,查,操作,试图通常是有一个表或者多个表的行或列的子集。对视图的修改会影响基本表。它使得我们获取数据更容易,相比多表查询。...2 )用户通过简单的查询可以从复杂查询中得到结果。 3 )维护数据的独立性,试图可从多个表检索数据。 4 )对于相同的数据可产生不同的视图。...Oracle自己开发了一个数据类型varchar2,这个类型不是一个标准的varchar,他将在数据库中varchar列可以存储空字符串的特性改为存储null值,如果你想有向后兼容的能力,oracle建议使用

    1.5K20

    数据库经典面试题,都给你收集好了!!!

    存储过程是一个预编译的SQL语句,优点是允许模块化的设计,就是说只需创建一次,以后在该程序中就可以调用多次。如果某次操作需要执行多次SQL,使用存储过程比单纯SQL语句执行要快。.../out/in out 三种模式的参数 4、可作为一个独立的PL/SQL语句来执行 5、可以通过out/in out 返回零个或多个值 6、SQL语句(DML 或SELECT)中不可调用存储过程...索引可以是唯一的,创建索引允许指定单个列或者是多个列。缺点是它减慢了数据录入的速度,同时也增加了数据库的尺寸大小。 6、什么样的字段适合建索引 唯一、不为空、经常被查询的字段 7、索引类型有哪些?...视图:是一种虚拟的表,具有和物理表相同的功能。可以对视图进行增,改,查,操作,试图通常是有一个表或者多个表的行或列的子集。对视图的修改会影响基本表。它使得我们获取数据更容易,相比多表查询。...2 )用户通过简单的查询可以从复杂查询中得到结果。 3 )维护数据的独立性,试图可从多个表检索数据。 4 )对于相同的数据可产生不同的视图。

    1.6K30

    Java面试之数据库面试题

    存储过程是一个预编译的SQL语句,优点是允许模块化的设计,就是说只需创建一次,以后在该程序中就可以调用多次。如果某次操作需要执行多次SQL,使用存储过程比单纯SQL语句执行要快。...索引可以是唯一的,创建索引允许指定单个列或者是多个列。缺点是它减慢了数据录入的速度,同时也增加了数据库的尺寸大小。 6、什么样的字段适合建索引 唯一、不为空、经常被查询的字段 7、索引类型有哪些?...视图:是一种虚拟的表,具有和物理表相同的功能。可以对视图进行增,改,查,操作,试图通常是有一个表或者多个表的行或列的子集。对视图的修改会影响基本表。它使得我们获取数据更容易,相比多表查询。...2 )用户通过简单的查询可以从复杂查询中得到结果。 3 )维护数据的独立性,试图可从多个表检索数据。 4 )对于相同的数据可产生不同的视图。...Oracle自己开发了一个数据类型varchar2,这个类型不是一个标准的varchar,他将在数据库中varchar列可以存储空字符串的特性改为存储null值,如果你想有向后兼容的能力,oracle建议使用

    1.5K41

    数据库常见的面试题大全

    存储过程是一个预编译的SQL语句,优点是允许模块化的设计,就是说只需创建一次,以后在该程序中就可以调用多次。如果某次操作需要执行多次SQL,使用存储过程比单纯SQL语句执行要快。.../in out 三种模式的参数 4、可作为一个独立的PL/SQL语句来执行 5、可以通过out/in out 返回零个或多个值 6、SQL语句(DML 或SELECT)中不可调用存储过程 函数 1、用于特定的数据...索引可以是唯一的,创建索引允许指定单个列或者是多个列。缺点是它减慢了数据录入的速度,同时也增加了数据库的尺寸大小。 6、什么样的字段适合建索引 唯一、不为空、经常被查询的字段 7、索引类型有哪些?...视图:是一种虚拟的表,具有和物理表相同的功能。可以对视图进行增,改,查,操作,试图通常是有一个表或者多个表的行或列的子集。对视图的修改会影响基本表。它使得我们获取数据更容易,相比多表查询。...2 )用户通过简单的查询可以从复杂查询中得到结果。 3 )维护数据的独立性,试图可从多个表检索数据。 4 )对于相同的数据可产生不同的视图。

    1.4K40

    MySQL基础SQL编程学习2

    ; -- 创建数据库中的表(注意以逗号分隔) -- # column_name 参数规定表中列的名称。...注:在表上创建一个唯一的索引,不允许使用重复的值唯一的索引意味着两个行不能拥有相同的索引值。 注:用于创建索引的语法在不同的数据库中不一样,因此检查您的数据库中创建索引的语法。...在添加FOREIGN KEY的时候必须先创建外键约束所依赖的表,并且该列为该表的主键(对方表关联字段必须是主键); Oracle数据库中,对指定外键的表进行增删改的情况,子表:谁创建外键谁就是子表,父表...-- DB2/Oracle VIEW 视图 描述:视图是基于 SQL 语句的结果集的可视化的表, 视图包含行和列就像一个真实的表, 视图中的字段就是来自一个或多个数据库中的真实的表中的字段。...| 时间 :2020-01-12 06:24:18 WeiyiGeek. ---- 0x02 通用数据类型 描述:数据类型定义列中存放的值的种类,在创建 SQL 表时决定表中的每个列将要存储的数据的类型

    7.3K30

    游标和触发器

    在表或视图上创建针对INSERT,UPDATE,DELETE操作的触发器,只要在表或视图上发生INSERT,UPDATE,DELETE操作时自动触发。...2 替代触发器 由于在ORACLE里,不能直接对由两个以上的表建立的视图进行操作。所以给出了替代触发器。它就是ORACLE 8专门为进行视图操作的一种处理方法。...其中column_x是可选的。 3)DELETING:当触发事件是DELETE时,则取值为TRUE,否则为FALSE。 触发对象:指定触发器是创建在哪个表、视图上。...4.没有必要在针对一个表的视图上创建INSTEAD OF触发器,只要创建DML触发器就可以了。...训练技能点: 隐式游标sql的属性的使用 3.将每位员工工作了多少年零多少月零多少天输出出来 技能训练点: 游标FOR循环 4.输入部门编号,按照下列加薪比例执行(用CASE实现,创建一个emp1

    6310

    db2 terminate作用_db2 truncate table immediate

    在搜索的 UPDATE 或 DELETE 语句内标识的行数为零。在 FETCH 语句中引用的游标位置处于结果表最后一行之后。 02501 游标位置对于当前行的 FETCH 无效。...38002 例程尝试修改数据,但例程未定义为 MODIFIES SQL DATA。38003 例程中不允许该语句。38004 例程尝试读取数据,但例程未定义为 READS SQL DATA。...40506 由于 SQL 错误,当前事务已回滚。40507 由于创建索引时发生故障,因此当前事务已回滚。 类代码 42 语法错误或访问规则违例 表 32....40506 由于 SQL 错误,当前事务已回滚。 40507 由于创建索引时发生故障,因此当前事务已回滚。 类代码 42 语法错误或访问规则违例 表 32....42854 选择列表中的结果列数据类型与在带类型视图或具体化查询表定义中定义的类型不兼容。 42855 不允许对此主机变量指定 LOB。

    7.7K20

    【21】进大厂必须掌握的面试题-65个SQL面试

    主键 是一列(或列的集合)或一组列的唯一标识表中的每一行。 唯一标识表中的一行 不允许为空值 示例-在学生表中,Stu_ID是主键。 Q8。 什么是约束?...聚簇索引会更改记录在数据库中的存储方式,因为它会按设置为聚簇索引的列对行进行排序,而在非聚簇索引中,它不会更改存储方式,但会在数据库中创建一个单独的对象搜索后指向原始表行的表。...表存储代表一种实体类型的数据。例如–银行数据库有一个客户表来存储客户信息。客户表将此信息存储为每个客户的一组属性(表中的列)。 关系:实体之间有关联的关系或链接。...索引为每个值创建一个条目,因此检索数据会更快。 19.解释不同类型的索引。 索引分为三种: 唯一索引: 如果列是唯一索引的,则此索引不允许字段具有重复的值。如果定义了主键,则可以自动应用唯一索引。...什么是视图? 视图是一个虚拟表,由表中包含的数据子集组成。由于不存在视图,因此占用的空间更少。视图可以合并一个或多个表的数据,这取决于关系。 Q55。视图的用途是什么?

    6.9K22

    Oracle笔记

    sql>drop profile password_history [cascade] 9.oracle表名和列的命名规则:   (1)必须以字母开头   (2)长度不能超过30个字符   (3)...char ,m,n):取字符串的字串,从m开始,取长度为n的字串   (6)replace(char1,search_string,replace_string),在字符串char1中,将     search_string...oracle的所有动态性能视图都是以v_$开始的,并且oracle为每个动态性能视图都    提供了相应的同义词,并且其同义词是以V$开始的。...71.Oracle的视图:      视图是一个虚拟表,其内容由查询定义。同真实的表一样,视图包含   一系列带有名称的列和数据。但是,视图并不在数据库中以存储的数据值集   形式存在。...行和列数据来自由定义视图的查询所引用的表,并在引用视图时动态   生成。

    1.4K20

    SQL 与 MySQL 基础

    SQL 的范围包括数据插入、查询、更新和删除,数据库模式创建和修改,以及数据访问控制。 这类数据库包括:MySQL、SQL Server、Access、Oracle、Sybase、DB2 等。...: CHAR(n):可以存储任意字符串,但是是固定长度为n,如果插入的长度小于定义长度时,则用空格填充。...例如: 在 MySQL 中给 Course 表增加一列,字段名为 Ctype(课程类型),类型为 CHAR,长度为10,允许为空值: ALTER TABLE Course ADD Ctype CHAR...注意: 若视图是由两个以上基本表导出的,则此视图不允许更新。 若视图的字段来自字段表达式或常数,则不允许对此视图执行 INSERT 和 UPDATE 操作,但允许执行 DELETE 操作。...若视图定义中有嵌套查询,并且内层查询的 FROM 子句中涉及的表也是导出该视图的基本表,则此视图不允许更新。 一个不允许更新的视图上定义的视图也不允许更新。

    1.9K20

    Oracle查询优化-04插入、更新与删除数据

    ,则必须要插入表中的所有列,需要注意的,在插入值列表中所列出的值的顺序,必须与select * 查询语句所列出的列顺序完全一致。...关键字为相应列插入默认值,默认值在创建表时定义。...,如C2,C3 ---- 4.3 阻止对某几列插入 问题 举个例子,如果我们希望C4列的默认值为SYSDATE,这种列一般是为了记录数据生成的时间,不允许手工录入,该怎么办么?...这是因为前面我们在创建视图时指定了witch check option关键字,这也就是说,更新后的每一条数据仍然要满足创建视图时指定的where条件,所以我们这里发生了错误ORA-01402。...---- 4.5多表插入语句 oracle从9i开始可以用一条insert语句实现向多个表中插入数据 Oracle Insert all有三种情况: 一、无条件 INSERT ALL 二、条件

    1.2K10

    Oracle常用语句

    二.数据定义 (DDL) 部分 1.CREATE (创建表, 索引, 视图, 同义词, 过程, 函数, 数据库链接等) ORACLE常用的字段类型有 CHAR 固定长度的字符串 VARCHAR2 可变长度的字符串...; 一个表的索引最好不要超过三个 (特殊的大表除外), 最好用单字段索引, 结合SQL语句的分析执行情况, 也可以建立多字段的组合索引和基于函数的索引 ORACLE8.1.7字符串可以索引的最大长度为1578...单字节 ORACLE8.0.6字符串可以索引的最大长度为758 单字节 2.视图 (VIEW) CREATE VIEW 视图名AS SELECT …....数据表中的字段最大数是多少?  表或视图中的最大列数为 1000 18. 怎样查得数据库的sid ? ...sql>comment on table 表 is '表注释';  注释已创建。  sql>comment on column 表.列 is '列注释';  注释已创建。

    2.8K40

    Oracle 在线重定义(上)

    对于物化视图日志和队列表,在线重新定义仅限于物理属性的变化。不允许水平或垂直子集,也不允许任何列转换。列映射字符串的唯一有效值是NULL。 您不能对包含一个或多个嵌套表的分区执行联机重新定义。...您可以使用 REFRESH_STATEMENT_SQL_ID 列返回的SQL_ID 值来监视视图(如 VSQL 视图和 VSQL_MONITOR 视图)中的刷新进度。...当该参数设置为 true 时,Oracle数据库将在重定义完成后维护重定义过程中创建的临时表。...原因是临时表是用一个主键约束创建的,当 COPY_TABLE_DEPENDENTS 试图从原始表复制主键约束和索引时,会发生错误。...列col5已添加。 该col2列被删除。 列col3和col4被重命名,并且它们在表中的位置被改变。 列的类型col3从 更改DATE为TIMESTAMP。

    36721

    oracle补充

    视图是查看数据表中数据的一种方, 当一些用户需要经常访问和查询数据表中某些字段构成的数据,但管理员从安全角度考虑又不希望他们直接接触数据表时,可以利用Oracle数据库提供的视图这一数据对象。...视图犹如数据表的窗户,用户只能查看他们可以看到的数据,视图不是数据表,它仅是一些SQL查询语句集合,作用是按照不同的要求从数据表中提取不同的数据。...视图优点 因为视图可以有选择性的选取数据库里的一部分,用户通过简单的查询可以从复杂查询中得到结果,维护数据的独立性,视图可从多个表检索数据,对于相同的数据可产生不同的视图 创建视图的SQL create...to 保存点名; Oracle 数据备份与还原 exp命令用于把数据从远程数据库服务器导出至本地,生成dmp文件 imp命令用于把本地的数据库dmp文件从本地导入到远程的Oracle数据库中 将数据库中的表导出...error_number_in 只容许从 -20000 到 -20999 之间 ,error_msg_in 的长度不能超过 2k,否则截取到只剩 2k 系统触发器 系统事件是指基于oracle事件(例如

    3.1K30

    数据库常见面试题及答案(数据库面试常见问题)

    它可以强化约束,来维护数据的完整性和一致性,可以跟踪数据库内的操作从而不允许未经许可的更新和变化。可以联级运算。如,某表上的触发器上包含对另一个表的数据操作,而该操作又会导致该表触发器被触发。...索引可以是唯一的,创建索引允许指定单个列或者是多个列。缺点是它减慢了数据录入的速度,同时也增加了数据库的尺寸大小。 6、什么样的字段适合建索引 唯一、不为空、经常被查询的字段 7、索引类型有哪些?...视图:是一种虚拟的表,具有和物理表相同的功能。可以对视图进行增,改,查,操作,试图通常是有一个表或者多个表的行或列的子集。对视图的修改会影响基本表。它使得我们获取数据更容易,相比多表查询。...2 )用户通过简单的查询可以从复杂查询中得到结果。 3 )维护数据的独立性,试图可从多个表检索数据。 4 )对于相同的数据可产生不同的视图。...26、表和视图的关系 视图其实就是一条查询sql语句,用于显示一个或多个表或其他视图中的相关数据。 表就是关系数据库中实际存储数据用的。

    4.1K10

    通过Oracle DB了解MySQL

    但是,Oracle标识符均不允许。MySQL的引号字符是反引号(`)。如果设置了SQL模式ANSI_QUOTES,则还可以使用双引号将标识符引起来。Oracle的标识符用双引号引起来。...CHAR类型的最大长度为255个字节。VARCHAR类型的最大长度为65,535字节。Oracle支持四种字符类型(CHAR,NCHAR,NVARCHAR2和VARCHAR2)。...如果为字符类型列分配的值超过指定的长度,MySQL将截断该值,并产生警告,如果设置了STRICT SQL模式,会生成错误。如果分配给字符类型列的值超过指定的长度,Oracle会报错。...列的默认值 MySQL和Oracle处理列的默认值为NOT NULL方式不同。 MySQL将数据插入表中时确定列默认值。该默认值是列数据类型的隐式默认值。...但是,如果启用了STRICT模式,MySQL会生成错误,回滚INSERT语句。 Oracle在将数据插入表中时,必须为所有NOT NULL的列指定数据。

    1.9K10

    史上最全的 DB2 错误代码大全

    ,视图执行SQL语句 -397 428D3 在某一列上不恰当的指定了GENERATED因为该列不是ROWID数据类型 -398 428D2 为某一个宿主变量请求LOCATOR,但是该宿主变量不是一个LOB...0 -612 42711 在同一个表、索引或试图中不允许有重复列名 -613 54008 主健或UNIQUE约束太长或者包含了太多的列 -614 54008 已经超过了索引的内部健长度的最大长度(255...-644 42615 在SQL语句中为关键词指定的值无效 -646 55017 在指定的分区表空间或者缺省表空间中不能创建表,因为指定的表空间已经包含了一个表 -647 57003 指定的缓冲池无效,...ALWAYS定义的ROWID列 -802 22012 某一特定操作发生了异常错误,被零除 -803 23505 不能插入行,因为这将违反唯一索引的约束 -804 07002 SQLDA的调用参数列表有误...,因为在现存的视图定义中引用了该函数 -20074 42939 不能建立指定的对象,因为“SYS”是一个保留的前缀 -20100 56059 在被触发的SQL语句中有BIND错误,指定了错误的SQLCODE

    4.8K30

    这是我见过最有用的Mysql面试题,面试了无数公司总结的(内附答案)

    一个表可以具有多个非聚集索引。 它不会改变其排序方式,但是会在一个表内创建一个单独的对象,该对象在搜索后指向原始表行。 20.什么是SQL视图? 视图就像逻辑上存储在数据库中的表的子集。...视图是一个虚拟表。 它包含类似于真实表的行和列。视图中的字段是来自一个或多个实际表的字段。 视图不包含自己的数据。它们用于限制对数据库的访问或隐藏数据复杂性。 21.视图的优点是什么?...简短的答案是“否”,一个表不允许包含多个主键, 但是它允许一个包含两个或更多列的复合主键。 41.什么是复合 主键? 复合主键是在表中的多个列(多个字段的组合)上创建的主键。 42.什么是外键?...PRIMARY KEY 不允许使用 NULL值,而Unique键则允许使用NULL值。 45.什么是NULL值? 用字段NULL值是没有值的字段。甲NULL值是从零值或包含空格的字段不同。...NULL值,零和空白之间有什么区别? 如前所述,空值是没有值的字段,该值不同于零值和空格。 空值是没有值的字段。 零是数字, 空格是我们提供的值。space的ASCII值为CHAR(32)。

    27.1K20
    领券