今天使用 insert into select 时出现了这个异常,感觉很诡异,去metalink查了下资料,找出了错误原因,记录下来。

SQL> CREATE TABLE test_baser01(
2 ID NUMBER NOT NULL,
3 NAME VARCHAR2(50),
4 age NUMBER,
5 sex NUMBER,
6 comments VARCHAR2(240)
7 );
表已创建。
SQL> CREATE SEQUENCE test_baser01_s;
序列已创建。
SQL> INSERT INTO Test_Baser01
2 (Id, NAME)
3 SELECT Test_Baser01_s.Nextval, A1
4 FROM Temp_a
5 WHERE A1 < ''
6 ORDER BY A1;
SELECT Test_Baser01_s.Nextval, A1
*
ERROR 位于第3行:
ORA-02287: 此处不允许序号

资料:

Restrictions on Sequence Values You cannot use CURRVAL and NEXTVAL in the
following constructs:
■ A subquery in a DELETE, SELECT, or UPDATE statement
■ A query of a view or of a materialized view
■ A SELECT statement with the DISTINCT operator
■ A SELECT statement with a GROUP BY clause or ORDER BY clause
■ A SELECT statement that is combined with another SELECT statement with the
UNION, INTERSECT, or MINUS set operator
■ The WHERE clause of a SELECT statement
■ The DEFAULT value of a column in a CREATE TABLE or ALTER TABLE statement
■ The condition of a CHECK constrain

解决方案:

sql外面包一层

SQL> INSERT INTO Test_Baser01
2 (Id, NAME)
3 SELECT Test_Baser01_s.Nextval, A1
4 FROM (SELECT *
5 FROM Temp_a
6 WHERE A1 < ''
7 ORDER BY A1);
已创建6行。
SQL> SELECT Id, NAME FROM Test_Baser01;
ID NAME
--------- --------------------------------------------------
1 32000004
2 32000005
3 32000006
4 32000007
5 32000008
6 32000009
已选择6行。
SQL>

from:http://blog.itpub.net/23009281/viewspace-766076/

ORA-02287: 此处不允许序号的更多相关文章

  1. ORA-02287: 此处不同意序号

    ORA-02287: 此处不同意序号 insert into gls_vchitem     (viid,      yr,      km)     select gls_vchitem_seq.n ...

  2. Mybatis 批量插入带oracle序列例子+ORA-02287: 此处不允许序号

    在使用mybatis进行批量插入时,发现对于使用Oracle的自动增长序列时提示 : ORA-02287: 此处不允许序号 的错误,下面的这种使用可以解决问题: <!-- 批量插入 --> ...

  3. [转载]ORA-02287: 此处不允许序号

    原文地址:ORA-02287: 此处不允许序号作者:nowhill 转载自 http://blog.sina.com.cn/s/blog_6d496bad01011dyv.html 开发人员反映序列不 ...

  4. 报错:ORA-02287: 此处不允许序号

    CREATE TABLE MY_TAB (N1 NUMBER(5),N2 DATE);          SELECT  * FROM MY_TAB;          CREATE SEQUENCE ...

  5. ORA 各种oraclesql错误

    ORA-00001: 违反唯一约束条件 (.) ORA-00017: 请求会话以设置跟踪事件 ORA-00018: 超出最大会话数 ORA-00019: 超出最大会话许可数 ORA-00020: 超出 ...

  6. Oracle 11g数据库详解(2)

    FAILED_LOGIN_ATTEMPTS 用于指定连续登陆失败的最大次数 达到最大次数后,用户会被锁定,登陆时提示ORA-28000 UNLIMITED为不限制 精确无误差 是 实时 PASSWOR ...

  7. ibatis 批量插入oracle总结

    1. 使用批量插入最先想到如下的插入语句 insert into a (id,name) values('','') ,('','') 但是 oracle 并不支持这种写法 然后查询得知可以使用如下写 ...

  8. 在Excel中使用频率最高的函数的功能和使用方法

    在Excel中使用频率最高的函数的功能和使用方法,按字母排序: 1.ABS函数 函数名称:ABS 主要功能:求出相应数字的绝对值. 使用格式:ABS(number) 参数说明:number代表需要求绝 ...

  9. SQL错误码

    ///////////////////////////////////////////////////////////////ORA-00001: 违反唯一约束条件 (.)ORA-00017: 请求会 ...

随机推荐

  1. wpf 窗体内容旋转效果 网摘

    <Window x:Class="simplewpf.chuangtixuanzzhuan"        xmlns="http://schemas.micros ...

  2. datatable group by

    对datatable 里面的数据按某一特定的栏位进行分组并且按照某一规则 var query = from t in rate.AsEnumerable()   group t by new { t1 ...

  3. Android项目结构 以及体系结构

    学习Android平台的人一般对Android的平台的应该有点认识 其它的就不多讲了 Android项目一般由以下几个部分构成 以上是一个简单的Android项目结构目录图 1. src  主要是 源 ...

  4. eclipse里怎么用命令行输入args

    eclipse中给java应用传args参数的方法如下:1.先写好Java代码,比如文件名为IntArrqy.java:2.在工具栏或菜单上点run as下边有个Run Configuration:3 ...

  5. xutils 3.0 post 使用

    github:https://github.com/wyouflf/xUtils3 xUtils3简介 xUtils 包含了很多实用的android工具. xUtils 支持超大文件(超过2G)上传, ...

  6. TeXmacs - 所见即所得 - 专业排版软件

    所见即所得,支持中文,很好用, 容易奔溃,奔溃进入不了程序时,删除文件夹 C:\Users\Perelman\AppData\Roaming\TeXmacs

  7. 知乎布局||offsetTop||侧边栏自动等高

    1.对a标签的详细介绍 直接在a标签使用onclick,怎么去除a的默认链接,onclick="return test()" 注意这里的return 不可舍去,test函数可以直接 ...

  8. JS验证URL正则

    方法一: function fIsUrL(sUrl) { var sRegex = '^((https|http|ftp|rtsp|mms)?://)' + '?(([0-9a-z_!~*\'().& ...

  9. Java备份约9亿条数据

    需求:有一张表9亿多条数据,数据加索引总数据量61GB.考虑到这张表的大部分数据都不会再被使用并且大数据量可能影响整库的性能,所以决定将表里某一个时刻之前的数据备份到一张新表中,待备份完成后将旧表中已 ...

  10. Intellij Idea中运行tomcat 报內存溢出 解决方案 火龙战士 火龙战士

    在Run/Debug configuration 的你要运行行的tomcat里面的 vm options里面输入 -server -XX:PermSize=128M -XX:MaxPermSize=2 ...