ORA-02287: 此处不允许序号
今天使用 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: 此处不允许序号的更多相关文章
- ORA-02287: 此处不同意序号
ORA-02287: 此处不同意序号 insert into gls_vchitem (viid, yr, km) select gls_vchitem_seq.n ...
- Mybatis 批量插入带oracle序列例子+ORA-02287: 此处不允许序号
在使用mybatis进行批量插入时,发现对于使用Oracle的自动增长序列时提示 : ORA-02287: 此处不允许序号 的错误,下面的这种使用可以解决问题: <!-- 批量插入 --> ...
- [转载]ORA-02287: 此处不允许序号
原文地址:ORA-02287: 此处不允许序号作者:nowhill 转载自 http://blog.sina.com.cn/s/blog_6d496bad01011dyv.html 开发人员反映序列不 ...
- 报错:ORA-02287: 此处不允许序号
CREATE TABLE MY_TAB (N1 NUMBER(5),N2 DATE); SELECT * FROM MY_TAB; CREATE SEQUENCE ...
- ORA 各种oraclesql错误
ORA-00001: 违反唯一约束条件 (.) ORA-00017: 请求会话以设置跟踪事件 ORA-00018: 超出最大会话数 ORA-00019: 超出最大会话许可数 ORA-00020: 超出 ...
- Oracle 11g数据库详解(2)
FAILED_LOGIN_ATTEMPTS 用于指定连续登陆失败的最大次数 达到最大次数后,用户会被锁定,登陆时提示ORA-28000 UNLIMITED为不限制 精确无误差 是 实时 PASSWOR ...
- ibatis 批量插入oracle总结
1. 使用批量插入最先想到如下的插入语句 insert into a (id,name) values('','') ,('','') 但是 oracle 并不支持这种写法 然后查询得知可以使用如下写 ...
- 在Excel中使用频率最高的函数的功能和使用方法
在Excel中使用频率最高的函数的功能和使用方法,按字母排序: 1.ABS函数 函数名称:ABS 主要功能:求出相应数字的绝对值. 使用格式:ABS(number) 参数说明:number代表需要求绝 ...
- SQL错误码
///////////////////////////////////////////////////////////////ORA-00001: 违反唯一约束条件 (.)ORA-00017: 请求会 ...
随机推荐
- Spring配置文件详解 – applicationContext.xml文件路径
Spring配置文件详解 – applicationContext.xml文件路径 Java编程 spring的配置文件applicationContext.xml的默 ...
- C#中值类型和引用类型图解
举几个值类型和引用类型的内存配置: 值类型存储在栈中,引用类型堆里: 1,数组 数组是引用类型,但是数组的元素可以是值类型或引用类型 2. 结构 结构是值类型,简略的看个例子 struct sampl ...
- SortedSet接口
TreeSet中实现了SortedSet接口,此接口主要用于排序操作,即实现此接口的子类都属于排序的子类. import java.util.Set; import java.util.SortedS ...
- OpenGL教程
http://www.opengl-tutorial.org/ http://www.lighthouse3d.com/ http://www.arcsynthesis.org/gltut/ http ...
- Redis学习——ae事件处理源码分析
0. 前言 Redis在封装事件的处理采用了Reactor模式,添加了定时事件的处理.Redis处理事件是单进程单线程的,而经典Reator模式对事件是串行处理的.即如果有一个事件阻塞过久的话会导致整 ...
- linux远程登录(Telnet、SSH)
系统:RHEL 5.5 64位,使用CentOS的yum源并作更新处理 参考书目<Linux兵书>/电子工业出版社/刘丽霞,细节之处稍有变动. 一.Telnet(远程登录推荐SSH) 1. ...
- xenserver安装使用
1.下载参考:http://blog.sina.com.cn/s/blog_61c07ac50102vf55.html 2.安装(个人笔记本配置了12G的内存,所以在VM Workstation 11 ...
- WebAPI文件上传与下载
http://www.cnblogs.com/GarsonZhang/p/5511427.html https://github.com/GarsonZhang/FileUpLoadAPI
- python 计算器的(正则匹配+递归)
经过2天的长时间的战斗,python计算器终于完成了. import re val="1-2*((60-30*(9-2*5/3+7/3*99/4*2998+10*568/14))-(-4*3 ...
- Java面试笔记
1.&和&& if(str != null& !str.equals("")){ System.out.println("ok" ...