Oracle的左连接和右连接
在Oracle PL-SQL中,左连接和右连接以如下方式来实现 查看如下语句:SELECT emp_name, dept_name FORM Employee, DepartmentWHERE Employee.emp_deptid(+) = Department.deptid此SQL文使用了右连接,即“(+)”所在位置的另一侧为连接的方向,右连接说明等号右侧的所有记录均会被显示,无论其在左侧是否得到匹配,也就是说上例中无论会不会出现某个部门没有一个员工的情况,这个部门的名字都会在查询结果中出现。反之:SELECT emp_name, dept_name FORM Employee, DepartmentWHERE Employee.emp_deptid = Department.deptid(+)则是左连接,
连接数据库时提示ORA-01031: insufficient privileges
用conn / as sysdba登录数据库时提示:ORA-01031: insufficient privileges.但用conn sys/change_on_install as sysdba登录正常.应该是不能用os方式登录数据库.但检查计算机管理>系统工具>本地用户和组>组里面的ora_dba里已经加上了当前用户.查看D:oracleora92networkadmin下的sqlnet文件,发现SQLNET.AUTHENTICATION_SERVICES= (NONE)把这行改为SQLNET.AUTHENTICATION_SERVICES= (NTS),重新连接数据库,正常连接.[@more@]
连接数据库时提示:ORA-27101
中了熊猫病毒后,服务器上exe文件都不好用了,杀毒,但是数据库监听服务起不来了,一查文件,对应的tnslsnr.exe都没了,于是从别的数据库上把这个exe文件拷过来,这下监听服务能起了,但是连接数据库的时候报错:ERROR: ORA-01034 ORACLE not available ORA-27101 Shared memory realm does not exist 在网上找到方法:执行命令:oradim -shutdown -sid 数据库名oradim -startup -sid 数据库名,但又发现oradim.exe文件也找不到了,在D:oracleora92database下找到oradim.exe,拷到D:oracleora92bin目录下,执行oradim命令,数据库恢复正常.[@more@]
dbms_job的使用
DBMS_Job包的用法 包含以下子过程: Broken()过程。 change()过程。 Interval()过程。 Isubmit()过程。 Next_Date()过程。 Remove()过程。 Run()过程。 Submit()过程。 User_Export()过程。 What()过程。 1、 Broken()过程更新一个已提交的工作的状态,典型地是用来把一个已破工作标记为未破工作。 这个过程有三个参数:job 、broken与next_date。 PROCEDURE Broken (job IN binary_integer, Broken IN boolean, next_date IN date :=SYSDATE) job参数是工作号,它在问题中唯一标识工作。 broken参数指示此工作是否将标记为破——TRUE说明
trunc函数的用法
在pl/sql中,trunc函数返回由指定测量单位截取的时间值。trunc函数的语法如下:trunc(date, [format])date就是要被截取的时间值。format是用于截取的测量单位。如果省略的话date将被截取到ddd的精度。format参数表:unit valid format parametersYear SYYY,YYYY,YEAR,SYEAR,YYY,YY,YISO YEAR IYYY,IY,IQuarter QMonth MONTH,MON,MM,RMWeek WWIW IWW WDay DDD,DD,JStart day of week DAY,DY,DHour HH,HH12,HH24Minute MI例子:trunc(to_date("22-AUG-03"), "YEAR") 返回‘01-JAN-03’trunc(to_date("22-AUG-03&qu
出现:无效的责任或功能.
所有的客户化功能均提示这个错误,这是因为对应的环境变量$appl_top没有指定路径,在我的erp环境中这个变量是由脚本prod.env进行设置,执行这个脚本即可.[@more@]
休假审批时,出现错误:You have encountered an unexpected error. Please contact the System Administrator.
这是因为审批人中有的员工没有对应的erp用户,无法发送通知.[@more@]
ORA-01591:锁定已被有问题的分配事务处理6.39.770391挂起
这是因为oracle通过透明网关往远程sqlserver数据库insert into表时导致的错误,重启数据库也不能解决问题,在网上查了下文档,解决方法:用system用户进入oracle数据库,执行命令:commit force '6.39.770391';或者回滚事务:rollback force '6.39.770391';[@more@]