网管联盟 | 网管论坛 | 网管u家 | 网管博客 | 网管软件 | 网管求职 | 小游戏 | 网管搜索 | 网管原创 | 网管聚合 | 网管读摘 | 网管焦点 | 世界素材 | 会员投稿 | 会员中心 
中国网管联盟
Windows Linux Cisco 网络技术 数据库 黑客攻防 DotNet Java PHP 认证 新闻资讯 服务器 存储资讯 网络设备 网管学堂 技术专题 焦点 网吧频道
 当前位置: > bitsCN.com > 数据库技术 > Oracle > 开发技术 > oracle笔记  

oracle笔记

2003-05-24  作者:BitsCN整理  来源:中国网管联盟  点评 投稿 收藏


  --1---
  --对于游标进于update(行锁)的操作实验
  /*
  declare
   x number;
   mc varchar(20);
   cursor findtest is select id,myname from testtable FOR UPDATE;
  begin
  
  open findtest;
  fetch findtest into x,mc;
  UPDATE testtable SET myname ='myid' WHERE CURRENT OF findtest;
  DBMS_OUTPUT.PUT_LINE(SQL%ROWCOUNT);
  close findtest;
  --update testtable set myname='ss' where id>9;
  --DBMS_OUTPUT.PUT_LINE('更新了'||SQL%ROWCOUNT||'条数据');
  
  end;
  */
  /
  
  
  --2---
  
  create or replace procedure debugout(mydir varchar,myfile varchar,myinfo varchar) as
  --进行文件写的存储过程,调用方式 debugout(目录名,文件名,字符串)
  --注意:oracel对于plsql的文件操作默认是不能对文件进行操作的.所以按下列步骤进行设定。
  --关闭数据库修改initsid.ora文件,在文件中增加utl_file_dir参数,其值为目录名
  --例如对于windows c: c:\xx unix 为/tmp /tmp/xx
  --检查目录的文件系统,确定oracle用户是否有关于该文件路径的读写权限,若不具有,则通过chmod 766 filepath 网管网www_bitscn_com
  --再启动数据库。这样,存储过程就能够正常的生成和读取文件了。
  V_NewLine varchar(100);
  v_FileHand UTL_FILE.FILE_TYPE; --文件句柄
  begin
   v_FileHand:=UTL_FILE.FOPEN(mydir,myfile,'a');
   --w 为写 r为读 a添加(文件不存在,自生成)
   UTL_FILE.PUT_LINE(v_FileHand,to_char(sysdate,'yyyy-mm-dd hh24:mi:ss ') || myinfo);
   UTL_FILE.FCLOSE(v_FileHand);
  exception
   when UTL_FILE.INVALID_OPERATION then
   raise_application_error(-20102,'文件不能打开');
  
   when UTL_FILE.INVALID_FILEHANDLE then
   raise_application_error(-20103,'文件句柄不是打开的文件');
  
   when UTL_FILE.WRITE_ERROR then
   raise_application_error(-20105,'写操作失败');
  
   when UTL_FILE.INVALID_PATH then
   raise_application_error(-20106,'文件或目录写操作失败');
  
   end;
  
  /
  
  --3--
  --可以执行DDL及DML语句的存储过程
  CREATE OR REPLACE PROCEDURE PEXESQL(s1 varchar2) as

网管联盟bitsCN_com


  i integer;
  r integer;
  begin
  --可以执行insert,update,delete(事物不提交)
  --如果是create table等命令要明文授于系统权限,对于drop table不用
  i:=dbms_sql.open_cursor;
  dbms_sql.parse(i,s1,dbms_sql.v7);
  r:=dbms_sql.execute(i);
  --commit;
  dbms_sql.close_cursor(i);
   exception when others then
  -- dbms_output.put_line('系统出了错');
   if dbms_sql.is_open(i) then
   dbms_sql.close_cursor(i);
   end if;
   --raise输出详细出错信息
  -- raise;
   dbms_output.put_line('系统出了错了,SQLCODE='||sqlcode||' sqlerrm='||sqlerrm);
  
  end;
  
  /*
  p4不能安ORACEL的问题
  原因:
  Any platform that uses the Intel Pentium 4 processor, with the
  Sun JRE and Symmantec JIT will encounter this problem. Windows NT,
  Windows 2000 and NetWare platforms are confirmed to be affected.
  
  解决办法
  1. 建个临时目录,将oracle安装盘拷贝到该目录中 中国网管联盟bitsCN.com
  2.在该目录中搜索symcjit.dll (我找到了两个)
  3.
  4. 将symcjit.dll改名为symcjit.old.
  
  5. 运行\install\win32目录下的setup.exe 就应该可以了
  
  */
  

TAGs笔记   目录   操作   对于   系统   raise_application_error    
 上一篇:Oracle数据操作和控制语言详解   下一篇:ORACEL起动方法及一般问题
相关文章列表
oracle笔记 评论:
loading.. 评论加载中…
评论:请自觉遵守互联网相关政策法规,评论不得超过250字。

验证码: 注册用户
本类热门排行:
1.何添加删除数据库,如何创建表空间?
2.Java连接Oracle数据库的各种方法
3.全面介绍:Oracle数据库日期处理
4.利用外部命令Oralce数据库导入导出
5.tochar和todate是如何使用的?格式?
6.Sql*plus技巧之SPOOL应用
7.TNS-12500/12540/12560/00510解决过程
8.oracle中用创建表时Storage中参数的含义
9.oracle笔记
10.Oracle中使用SQL MODEL定义行间计算
最新推荐文章:
1.初始化块与数据库查询控制验证和授权-开
2.Oracle数据库中如何根据时间来执行JOB-开
3.Oracle中如何根据时间来执行JOB-开发技术
4.修改默认的Oracle XML Database监听端口-
5.关闭Oracle死锁进程的具体步骤-开发技术
6.FORALL与BULK COLLECT的使用方法-开发技
7.Oracle数据库中的锁机制研究-开发技术
8.Oracle数据库中的(+)连接
9.MIS系统实例中Oracle的安全策略
10.详细讲解容灾技术中的数据一致性
网管论坛交流:
·不疯魔不成活
·令你大开眼界的真正标准化机房,已整理重
·为赈灾,女孩舍身拍“裸照”
·Windows Server 2003服务器群集创建和配
·exchange2k3全套官方资料
·双儿一周岁了。。。特殊的礼物来啦。。
·存储备份技术版块守则
·无盘技术交流区守则
·DOS命令基础大全之命令详解<作者吐血
·Windows XP 操作系统默认设置需要注意的