DECLARE
创新互联公司成立与2013年,是专业互联网技术服务公司,拥有项目成都网站建设、成都网站设计网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元阿瓦提做网站,已为上家服务,为阿瓦提各地企业和个人服务,联系电话:13518219792
A1 NUMBER;
TEMP VARCHAR2(120);
A2 NUMBER;
SIXNUM VARCHAR2(120);
TYPE EMP_SSN_ARRAY IS TABLE OF NUMBER
INDEX BY BINARY_INTEGER;
BEST_EMPLOYEES EMP_SSN_ARRAY;
BEGIN
SIXNUM:=' ';
TEMP:=' ';
A1:= 0;
WHILE (LENGTH(SIXNUM)14) LOOP
LOOP
--生成号码
A1 := A1 + 1;
A2 := FLOOR( DBMS_RANDOM.VALUE(1,33));
IF A2 10 AND A2 0 THEN
BEST_EMPLOYEES(A1) :='0'||A2;
DBMS_OUTPUT.PUT_LINE(BEST_EMPLOYEES(A1));
ELSE
BEST_EMPLOYEES(A1) := A2;
DBMS_OUTPUT.PUT_LINE(BEST_EMPLOYEES(A1));
END IF;
IF INSTR(SIXNUM,BEST_EMPLOYEES(A1),1,1)=0 THEN --找不到
SIXNUM:=SIXNUM||' '||BEST_EMPLOYEES(A1);
EXIT;
END IF ;
END LOOP;
END LOOP;
DBMS_OUTPUT.PUT_LINE('--------------------------------');
FOR I IN 1..BEST_EMPLOYEES.COUNT - 1 LOOP
FOR II IN I..BEST_EMPLOYEES.COUNT LOOP
IF BEST_EMPLOYEES(I) BEST_EMPLOYEES(II) THEN
--DBMS_OUTPUT.PUT_LINE(BEST_EMPLOYEES(I));
TEMP := BEST_EMPLOYEES(I);
BEST_EMPLOYEES(I) := BEST_EMPLOYEES(II);
BEST_EMPLOYEES(II) := TEMP;
END IF;
END LOOP;
END LOOP;
FOR I IN 1..BEST_EMPLOYEES.COUNT LOOP
DBMS_OUTPUT.PUT_LINE(BEST_EMPLOYEES(I));
END LOOP;
END;
/
可以通过 “order by 字段名 asc (desc)” 命令进行排序。
sql:select * from tablename order by id DESC;
用 DESC 表示按倒序排序(即:从大到小排序) ,用 ACS 表示按正序排序(即:从小到大排序)。
Oracle9i之前,中文是按照二进制编码进行排序的。在oracle9i中新增了按照拼音、部首、笔画排序功能。
1、设置NLS_SORT参数值
SCHINESE_RADICAL_M 按照部首(第一顺序)、笔划(第二顺序)排序 SCHINESE_STROKE_M 按照笔划(第一顺序)、部首(第二顺序)排序 SCHINESE_PINYIN_M 按照拼音排序
2、Session级别的设置,修改ORACLE字段的默认排序方式:
按拼音:alter session set nls_sort = SCHINESE_PINYIN_M;
按笔画:alter session set nls_sort = SCHINESE_STROKE_M;
按偏旁:alter session set nls_sort = NLS_SORT=SCHINESE_RADICAL_M;
3、语句级别设置排序方式:
按照笔划排序 select * from dept order by nlssort(name,'NLS_SORT=SCHINESE_STROKE_M');
按照部首排序 select * from dept order by nlssort(name,'NLS_SORT=SCHINESE_RADICAL_M');
按照拼音排序 此为系统的默认排序方式
select * from dept order by nlssort(name,'NLS_SORT=SCHINESE_PINYIN_M');
4、修改系统参数(数据库所在操作系统):
set NLS_SORT=SCHINESE_RADICAL_M export NLS_SORT (sh) setenv NLS_SORT SCHINESE_RADICAL_M (csh) HKLC\SOFTWARE\ORACLE\home0\NLS_SORT (win注册表)
1、首先在oracle建立数据表的时候,对表的命名有以下规范:以字母开头表名长度不能超过30个字符,不能使用oracle保留关键字,可以使用A-Z,a-z,0-9,#,$等。
2、如果表名中包含特殊字符是直接报错的。如下图使用了 *。
3、在建立表的时候,数字也是不能使用表名的开始的。
4、但如果使用双引号对表名进行规范的话,是可以建立以数字或者包含特殊字符的表名的。
5、过这样建立的表名,在查询数据的时候是非常麻烦的,查询时也要加双引号。而且这样建立的表名,在项目运行的过程中也非常容易造成各种麻烦,所以尽量不要使用。