ITPub博客

首页 > Linux操作系统 > Linux操作系统 > ORA-02287: 此处不允许序号

ORA-02287: 此处不允许序号

原创 Linux操作系统 作者:dzq0371 时间:2013-07-11 18:33:00 0 删除 编辑

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


sql记录:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
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 < '32000010'
  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外面包一层

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
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 < '32000010'
  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>



本文出自 “路漫漫其修远兮…” 博客,请务必保留此出处http://baser.blog.51cto.com/4153192/1219607

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/23009281/viewspace-766076/,如需转载,请注明出处,否则将追究法律责任。

下一篇: Linux下的NFS配置
请登录后发表评论 登录
全部评论

注册时间:2011-07-14

  • 博文量
    52
  • 访问量
    181601