PL/SQL控制语句
来源:互联网 发布:赤壁网络花店 编辑:程序博客网 时间:2024/05/14 03:59
PL/SQL实在SQL语言的基础上添加了过程性特性的一门语言,PL/SQL具有第三代语言(3GL)的特性。这让SQL语言拥有了结构化程序设计的特性,是的开发人员可以直接使用PL/SQL进行复杂业务逻辑的编写。
刚刚开始学oracle,最烦的还是没有数据可以供我使用。如果是自己逐行增加数据(insert into每次只能插入一行),我又觉得很烦,很没意思。所以我就想着用过程控制实现。
我建了一个员工表,有员工号,姓名,部门号(外键),性别,工资。
先直接上代码好了。
declare TYPE arr is VARRAY(20) of varchar(20); Xing_arr arr; Ming_arr arr; Xcount integer :=10; Mcount integer :=16; X integer :=0; M1 integer :=0; M2 integer :=0; salary integer :=0; sex varchar(4) ;begin Xing_arr :=arr('赵','钱','孙','李','周','吴','郑','王','陈','刘'); --10 Ming_arr :=arr('风','欣','信','红','伟','清','胜','鹏','静','健','缘','松','丹','福','雨','玉'); --16 for i IN 1000 .. 1030 loop X:=DBMS_RANDOM.value(1,10); M1:=DBMS_RANDOM.value(1,16); M2:=DBMS_RANDOM.value(1,16); salary:= DBMS_RANDOM.value(3000,7000); IF i<1012 THEN sex:='男'; ELSE sex:='女'; END IF; insert into EMP VALUES(i,CONCAT(Xing_arr(X),CONCAT(Ming_arr(M1),Ming_arr(M2))),1001,sex,salary); end loop;end;
在这里我使用了数组存储姓和名,同时利用随机数组,随机组合名字,然后通过字符串组合函数concat,将随机选中的姓名拼成一个字符串。工资也是一个随机数。
数组定义:(摘抄参考自:http://www.blogjava.net/decode360/archive/2008/08/08/280825.html)
TYPE nested_type IS TABLE OF VARCHAR2 ( 30 ) [not null];
-- 值为 varchar2 的数组,下标为默认 int ;
TYPE Calendar IS VARRAY ( 366 ) OF NUMBER ;
--366 个 number 数组,下标 1-366( 不是 0-365)
TYPE population_type IS TABLE OF NUMBER
INDEX BY VARCHAR2 ( 64 );
-- 下标是 varchar2 ,值是 number 的数组
随机函数:DBMS_RANDOM.VALUE(num1,num2).
这个函数跟c语言的随机函数一样,都是产生0~1之间的数。然后通过num1 和num2设置随机数大小。
这段代码的效果还是很不错的。我在文章中粘贴了图片。但我不知道为什么,在前两篇文章中我粘贴上去的图片都不见了。不知道这次会不会也没有图片。
- PL/SQL控制语句
- PL/SQL控制语句
- PL/SQL 控制语句
- pl/sql控制语句集
- oracle pl sql 控制语句
- PL/SQL流程控制语句
- PL/SQL流程控制语句
- PL/SQL--循环控制语句
- PL/SQL程序设计 第三章 PL/SQL流程控制语句
- ORACLE PL/SQL编程之PL/SQL 流程控制语句
- PL/SQL程序设计 第三章 PL/SQL流程控制语句
- 第三章 PL/SQL流程控制语句
- 1.3、PL/SQL流程控制语句
- PL/SQL-3 控制结构语句
- 第12课 pl/sql控制语句
- [oracle]pl/sql --控制语句if..
- PL/SQL流程控制语句说明
- PL/SQL之流程控制语句
- POJ - 1062昂贵的聘礼最短路或者DFS
- ACM hdu5352 最小费用最大流 模板 网络流
- 一元线性回归与梯度下降算法
- 介绍两个Android开源项目:Android显示GIF动画
- Valid Sudoku
- PL/SQL控制语句
- 2015研究僧实习面试题
- 关于并查集的查找函数的写法
- hdu 1081 最大子矩阵和
- 开博前言,即刻起航!我从现在开始,你呢?
- 新浪微博第三代技术体系--总结自InfoQ相关内容
- 莫比乌斯函数ACM
- Matlab--三维图形
- 破解老虎机