文章分类 | 推荐文章 | 最新文章 | 热点文章 | 最新软件 | 精品软件 | 下载排行 | 推荐下载 | 免费看大片 | WPS | 杀毒软件
清风网络
首 页 软件下载 网络学院 数码学院
QQ 电脑入门 游戏 操作系统 图形处理 办公软件 媒体动画 精文荟萃 工具软件 网络编程 程序开发 网络技术 认证考试 网站建设 文章专栏
当前位置:清风网络学院程序开发Oracle在Oracle9i内向给定的表对象内插入实际的行
精品推荐
特别推荐
·常用数据库比较
·ODBC API常用函数诠释
·提高ORACLE数据库的查询统计速度
·细化解析:Oracle使用的hints调整机制
·解析Oracle/Oracle Forms 的多用途代码
·从Oracle的FORM中调用REPORT的实用技巧
·Oracle SQL精妙SQL语句讲解
·ORACLE学习笔记--性能优化四
·ORACLE常用傻瓜问题1000问
·ORACLE常见错误代码的分析与解决之二
·深刻理解Oracle数据库的启动和关闭
·监控Oracle数据库的常用shell脚本
·Oracle在Solaris下的性能与调整简介
·通俗解说ORACLE
·数据库安全性策略
热点TOP10
·详细介绍ORACLE sqlplus命令
·ORACLE常用傻瓜问题1000问
·我的oracle笔记四(DBA管理)
·Oracle SQL精妙SQL语句讲解
·Oracle Tuning (Oracle 性能调整)的一些总结
·我的oracle笔记一(sql语句方面)
·程序员如何掌握计算机英语
·用正则表达式函数验证身份证号码合法性
·oracle数据库 exp/imp命令详解
·性能分析工具的使用
·ORACLE UPDATE 语句语法与性能分析看法
·在Solaris 10 X86上安装Oracle 10g RAC详解 (1)
·ORA-01092: ORACLE 例程终止。强行断开连接
·VMware下RedHat安装Oracle 9i RAC全攻略
·监控Oracle数据库的常用shell脚本
·手工创建oracle数据库
·常用数据库比较
·PL/Sql循序渐进全面学习教程
·在Solaris 10 X86上安装Oracle 10g RAC详解 (2)
·Oracle客户端文件打包

在Oracle9i内向给定的表对象内插入实际的行

日期:2007年7月2日 作者: 查看:[大字体 中字体 小字体]


  在开发数据库程序时,经常需要象数据库表对象内录入些测试数据,如果针对每个表对象都建立一个录入的存储过程,显得有些麻烦。这里给出一个示例pl/sql代码,调用者给出要插入测试数据的表对象名称,和待插入的行数后,过程即可产生随机数据,录入到表对象内。
  
  /*-------------向给定的表对象内插入实际的行。---------------------------*/
  procedure Insert_Rows(p_tablename varchar, p_numrows number)
  as
  --定义dba_tab_columns视图类型的表对象,用于存储给定表的字段的定义信息
  type table_define is table of dba_tab_columns%rowtype index by binary_integer;
  td table_define;
  i binary_integer;
  
  --定义动态sql查询的游标
  l_cursor number:= dbms_sql.open_cursor;
  l_ignone number;
  --动态sql语句字符变量
  sqlstr varchar2(1000);
  begin
  --获得表的所有字段的定义信息
  i:=0;
  for rec in(select * from dba_tab_columns where table_name=upper(p_tablename))
  loop
  i:= i+1;
  td(i):= rec;
  dbms_output.put_line(td(i).table_name);
  end loop;
  --组织insert sql语句的字段字符串
  sqlstr:='insert into 'td(1).table_name'(';
  for var in 1..i loop
  sqlstr:=sqlstrtd(var).column_name;
  if(var<>i) then
  sqlstr:=sqlstr',';
  end if;
  end loop;
  --组织insert sql语句的参数字符串
  sqlstr:=sqlstr')''values(';
  for var in 1..i loop
  sqlstr:=sqlstr':'td(var).column_name;
  if(var<>i) then
  sqlstr:=sqlstr',';
  end if;
  end loop;
  sqlstr:=sqlstr')';
  
  dbms_output.put_line(sqlstr);
  
  --为参数变量赋值
  dbms_sql.parse(l_cursor,sqlstr,dbms_sql.native);
  
  for var_rows in 1..p_numrows loop
  --填充插入参数的值
  for var in 1..i loop
  if td(var).data_type='VARCHAR2' then
  dbms_sql.bind_variable(l_cursor,':'td(var).column_name,dbms_random.string('A',td(var).data_length));
  elsif td(var).data_type='NUMBER' then
  dbms_sql.bind_variable(l_cursor,':'td(var).column_name,
  round(dbms_random.value*power(10,td(var).data_precision-td(var).data_scale),td(var).data_scale));
  else
  dbms_sql.bind_variable(l_cursor,':'td(var).column_name,'UNKNOW_TYPE');
  end if;
  end loop;
  --执行动态的SQL语句
  l_ignone:=dbms_sql.execute(l_cursor);
  end loop;
  commit;
  dbms_sql.close_cursor(l_cursor);
  
  end Insert_Rows;

(出处:清风网络学院






上一篇:tkprof和sql trace

下一篇:oracle9i,如何在PL/SQL中读写文件

在Oracle9i内向给定的表对象内插入实际的行 相关文章:
·windows 无法加载 internet 配置信息库(icfgnt.dll)。发生以下错误:找不到指定的模块
·用SQL批量插入数据
·多图片上传到指定的目录并存到数据库
·如何在authorware中插入flash动画?
·QQ空间主页皮肤中插入网页与图片
·让电脑在插入自己的优盘后才能启动
·在PowerPoint中插入视频的三种方法
·jsp的八个隐含对象
·精华文章:ASP中SQL语句参考及记录集对象
·简单对象访问协议(SOAP)初级指南
在Oracle9i内向给定的表对象内插入实际的行 相关软件:
·UML面向对象建模技术 csf 视频教程
·深度探索C++对象模型
·雅信3.5翻译软件。我的毕业翻译就是它搞定的。祝乖乖明天生日快乐
·公司会计实际核算制度非常实用
·内置对象实现超酷日历
·北大“面向对象程序设计”上机考试题
·用面向对象方法与C++语言描述
·Visual C++面向对象与开发手册
·COM 技术内幕——微软组件对象模型
·asp内置6大对象介绍(CHM)

特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
[打印本页] [关闭窗口] 转载请注明来源:http://www.vipcn.net
| 帮助(?) | 版权声明 | 友情连接 | 关于我们 | 信息发布
Copyright 2007 www.vipcn.net All Rights Reserved. 鄂ICP备05000083号Powered by:viphot