Oracle_PL_SQL基础培训要点解析.ppt

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
内置函数-单行函数-数值函数-NEXT_DAY 示例 内置函数-单行函数-数值函数-ADD_MONTHS 用途 返回参数1时间起,增加参数2 个月后的日期,主要处理2月的28号,30天和31天的月份差异 语法 ADD_MONTHS(date_param,number_param) 内置函数-单行函数-数值函数-ADD_MONTHS 示例 内置函数-单行函数-数值函数-MONTHS_BETWEEN 用途 返回参数1时间起,增加参数2的月份差异,参数1比参数2小,返回负数,否则返回整数;同时,如果参数1和参数2都是同一天或者都是月底,返回整数 语法 MONTHS_BETWEEN(date_param1, date_param2) 内置函数-单行函数-数值函数-MONTHS_BETWEEN 示例 内置函数-单行函数 杂项函数 GREATEST LEAST NVL DECODE 谢谢大家﹗ 讨论交流 关于oracle的boolean问题 汇总 (2012-08-08 11:16:44)转载▼ 标签: oralce boolean 杂谈 分类: 数据库 一、oracle本身没有boolean类型,就是说跟数据库相关的类型中不包括boolean,一般采用number(1)和char(1)来实现。 所 以”You cannot insert the values TRUE and FALSE into a database column. Also, you cannot select or fetch column values into a BOOLEAN variable.“ plsql为了实现结构化编程,支持了boolean类 型,所以可能会出现的问题是一个存储过程或者函数的返回参数是boolean型的,但在call这个procedure的时候,无法注册boolean类 型的返回参数,执行时会抛出”参数类型不对“的exception,解决的方案就是把boolean的参数用别的类型代替。 不太明白oracle为什么不支持 boolean类型。 二、 一直被Oracle中没有boolean类型困扰,网上有两种解决方案,一是用Number(1),二是用Char(1),各有所长,个人比较喜欢用 Number方式解决,原因很简单,因为是从C语言开始的,这符合C语言的习惯。前几天有幸咨询到Oracle方面的顾问,他们提供的解决方案是用 Char(1)实现boolean,但也有需要注意的地方,原话如下: 如果是特定boolean类型情况下,Char(1)是比Number(1)更好的选择,因为前者所用的存储空间会比后者少,但这二者在查询时存储空间的 节省会提供查效率,但是要注意的是用Char(1)的时候不能让这个字段可以为空,必须有缺省,否则查询效率会降低 三、PL/SQL 中有boolean类型,有null类型 PL/SQL中是有Boolean类型的,只能取2个值:true和false; 存储过程中的变量也支持boolean型; 但数据库中没有boolean类型。 四、存储过程中: declare v1 boolean; begin v1:=12; if(v1)then dbms_output.put_line(true); else dbms_output.put_line(false); end if; end; 打印:false ---------------------------------------- declare v1 boolean; begin v1:=12; dbms_output.put_line(v1); end; 会报错。运行时得到错误信息:调用PUT_LINE 时参数个数或类型错误。这是因为在脚本中不能直接打印boolean类型的值。 五: oracle 没有boolean,mysql用bit(1)而oracle可以用char(1) check(...(0,1))字段, 如: create table a ( a char(1) check (a in(0,1))) 然后JDBC用getBoolean()可以返回正确的结果。 JDBC我用ojdbc14.jar (2007年) 游标字面理解就是游动的光标。游标是SQL的一个内存工作区,由系统或用户以变量的形式定义。在某些情况下,需要把数据从存放在磁盘的表中调到计算机内存中进行处理,最后将处理结果显示出来或最终写回数据库。这样数据处理的速度才会提高,否则频繁的磁盘数据交换会降低效率。用数据库语言来描述游标就

文档评论(0)

南非的朋友 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档