欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

oracle function create 两次有关问题

更新时间: 2014-01-05 02:11:59 责任编辑: Author_N1

 

Oracle Function Create 两次问题
两个很简单的FUNCTION

/*创建存在方法,用于数据导入用*/
CREATE OR REPLACE FUNCTION EXISTS_ECGDATA (IN_SQL IN VARCHAR2)
    RETURN NUMBER
  IS
    V_SQL VARCHAR2(4000);
    V_CNT NUMBER(1);
  BEGIN
    V_SQL := 'SELECT COUNT(*) FROM DUAL WHERE EXISTS ('|| IN_SQL ||')';
    EXECUTE IMMEDIATE V_SQL INTO V_CNT;
    RETURN(V_CNT);
  END;


/*创建NewID()方法*/
CREATE OR REPLACE FUNCTION CREATEGUID
  RETURN varchar2 
is 
guid varchar(64); 
begin 
guid := SYS_GUID(); 
return 
substr(guid,1,8)||''-''||substr(guid,9,4)|| 
''-''||substr(guid,13,4)||''-''||substr(guid,17,4) 
||''-''||substr(guid,21,12); 
end CREATEGUID;
为什么这样放一起执行,只生成EXISTS_ECGDATA,而且编译是错误的?
--参考方法--
我执行了一下,不会啊。如果你在命令行执行请稍微修改一下:
CREATE OR REPLACE FUNCTION EXISTS_ECGDATA (IN_SQL IN VARCHAR2)
    RETURN NUMBER
  IS
    V_SQL VARCHAR2(4000);
    V_CNT NUMBER(1);
  BEGIN
    V_SQL := 'SELECT COUNT(*) FROM DUAL WHERE EXISTS ('
--参考方法--
 IN_SQL 
--参考方法--
')';
    EXECUTE IMMEDIATE V_SQL INTO V_CNT;
    RETURN(V_CNT);
  END;
/

/*创建NewID()方法*/
CREATE OR REPLACE FUNCTION CREATEGUID
  RETURN varchar2 
is 
guid varchar(64); 
begin 
guid := SYS_GUID(); 
return 
substr(guid,1,8)
--参考方法--
''-''
--参考方法--
substr(guid,9,4)
--参考方法--
 
''-''
--参考方法--
substr(guid,13,4)
--参考方法--
''-''
--参考方法--
substr(guid,17,4) 

--参考方法--
''-''
--参考方法--
substr(guid,21,12); 
end CREATEGUID;
/

--参考方法--
楼上说的不错,命令行方式,改成/
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 02:11:59
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/6857/
本文WWW.DOC100.NET DOC100.NET版权所有。