oracle和access中需要注意的小问题(初学者看)

    在声明oracleparameters时,sqlserver是用@来表示变量,Oracle是用:,否则会报“ORA-01036: 非法的变量名/编号”;oracle更新数据时,sql语句中变量的顺序要和oracleparameters中声明的变量顺序相同(这点与access相同)
    oracle中向方法中传参数,参数类型为oracleparameter[]时,不能传null,必须声明oracleparameter[] paras=new oracleparameter[]{};,然后将paras传进去,若是传null则会报“未将对象引用设置到对象实例”;

oracle中没有自增列,但是有自动生成id号的函数sys_guid(),如Insert into  student(id,name) values(sys_guid(),'xx')

删除用户报错

vbo-5530:无法删除用户。ora-01940无法删除当前已连接的用户

用system,manager登录plsql删除用户

oracle 更新查询出的数据为指定的数据

update music set path=case when substr(path,length(path)-2,3)='avi' then substr(path,0,length(path)-3)||'mp4' else path end where  kind='影音'

oracle中时间间隔数据查询(用add_months()或者interval)

ADD_MONTHS函数在输入日期上加上指定的几个月返回一个新的日期。如果给出一负数,返回值日期之前几个月日期。

  ADD_MONTHS(DATE,NUMBER)中的NUMBER应当是整数,给出小数时,正数被截为小于该数的最大整数,负数被截为大于该数的最小整数。

 

例:add_months(to_date('29-Feb-96','d-mon-yyyy'),-12.99)   返回  28-Feb-95

注:上例中29调整为28,是因为96年二月份最后一天是29号,而95年二月份最后一天是28号。

 

add_months(to_date('15-Nov-1961','d-mon-yyyy'),1)  返回   15-Dec-1961

 

add_months(to_date('30-Nov-1961','d-mon-yyyy'),1)  返回   31-Dec-1961

注:从30调整为31,为了保持都是对应最后一天。

 

add_months(to_date('31-Jan-1999','d-mon-yyyy'),1)  返回   28-Feb-1999

注:函数将31日调为28日,以使结果对应新一月的最后一天,因1999年2月只有28天。

interval(如果是日期中的日在下一(n)个月中不存在,就会报出错误如果当前是5月31日如果间隔为3即2月份就会报错‘指定月份的日期无效’,因为2月份没有31日,而用add_months是没有问题的)

select to_char(to_date('20110518','yyyymmdd') - interval '1' month,'yyyymmdd') from dual ;

oracle ora-01045错误解决方法

问题:在用PL/SQL进行登录时,出现:”ora-01045 :user system lacks create session privilege; logon denied”。

原因是没有权限

解决方法:用system登入后,下grant create session to UserName;(UserName是登录出错的用户名)

 



原文地址:https://www.cnblogs.com/songling/p/qs.html