Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1285068
  • 博文数量: 127
  • 博客积分: 2286
  • 博客等级: 大尉
  • 技术积分: 1943
  • 用 户 组: 普通用户
  • 注册时间: 2010-06-10 10:37
文章分类

全部博文(127)

文章存档

2018年(1)

2015年(2)

2014年(1)

2013年(30)

2012年(88)

2011年(5)

分类: Oracle

2013-12-11 22:55:57

Oracle12有了with function/procedure, 那么怎么和原来的with view共存呢?
想查oracle文档中的语法,找了半天没找到,只有摸石头过河,发现这能这样才能成功:

With
  FUNCTION with_function(p_id IN NUMBER) RETURN NUMBER IS
  BEGIN
    RETURN p_id;
  END;
  x1 as (select sysdate f1 from dual),
  x2 as (select sysdate f2 from dual)
SELECT with_function(100), f1,f2
FROM   dual,x1,x2;
/

WITH_FUNCTION(100) F1      F2
------------------ --------- ---------
       100 10-DEC-13 10-DEC-13


With
  FUNCTION with_function(p_id IN NUMBER) RETURN NUMBER IS
  BEGIN
    RETURN p_id;
  END;
  x1 as (select sysdate f1 from dual),
  x2 as (select sysdate f2 from dual)
SELECT with_function(100), f1,f2
FROM   dual,x1,x2
/
WITH_FUNCTION(100) F1      F2
------------------ --------- ---------
       100 10-DEC-13 10-DEC-13

这个只能当做PL/SQL代码,只能用/开头的单独作为语句结束,而不是分号

阅读(3410) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

diyunpeng2013-12-14 23:36:04

12c都有了。