日期:2014-05-16  浏览次数:20619 次

Oracle 中关于 sequence 对象的使用限制
Oracle 中 sequence 对象使用的限制
NEXTVAL 和 CURRVAL 只在 SQL 语句中有效,并不在 SPL 语句中直接有效。(但是使用NEXTVAL 和CURRVAL的SQL语句可用于SPL例程)以下限制应用于 SQL 语句中的这些运算符:


[1]在 CREATE TABLE 或 ALTER TABLE 语句中,在下列上下文中不能指定 NEXTVAL 或 CURRVAL: 
   在 DEFAULT 子句中。 

   在检查约束中。


[2]在 SELECT 语句中,下列上下文中不能指定 NEXTVAL 或 CURRVAL: 
   使用 DISTINCT 关键字时在投影列表中。 
   在 WHERE、GROUP BY 或 ORDER BY 子句中。 

   在子查询中。 

在 UNION 运算符结合 SELECT 语句时。


[3]在下列这些上下文中也不能指定 NEXTVAL 或 CURRVAL: 
   在分段存储表达式中 

   在对另一个数据库中的远程序列对象的引用中。



转载请注明出处及原文链接,否则拒绝转载

http://blog.csdn.net/xiangsir/article/details/8608477

2楼mimi4088前天 23:21
sp 语句是毛东西?
1楼xiangsir前天 11:19
SPL(Stored Procedure Language)是informix中提供的一种提供流程控制(分支和循环)的SQL。在 Oracle 中应该叫 PL/SQL 块吧