随笔分类 -  ORACLE PL/SQL编程!

记录oracle的PL/SQL学习!
rowid 删除重复记录!!!
摘要:平时工作中可能会遇到当试图对库表中的某一列或几列创建唯一索引时,系统提示 ORA-01452 :不能创建唯一索引,发现重复记录。 下面总结一下几种查找和删除重复记录的方法(以表CZ为例):表CZ的结构如下:SQL> desc czName Null? Type----------------------------------------- -------- ----------------... 阅读全文
posted @ 2008-08-21 11:34 简单男人! 阅读(4123) 评论(0) 推荐(0) 编辑
ORACLE 纯粹行列转换!!
摘要:转换前:select * from test;A B C-- -- --1 2 32 2 44 3 33 1 64 3 66 5 98 8 8转换后:A B C D E------------ -------------- --------------- ------------- -------------1 2 4 3 42 2 3 1 33 4 3 6 6方法:(有三种) --牛逼的方法(悟... 阅读全文
posted @ 2007-11-30 14:23 简单男人! 阅读(2100) 评论(0) 推荐(0) 编辑
oracle 行列统计转换!!!
摘要:体会:要用decode /group by/ order by/sign/sum来实现不同的统计和不同报表的生成--求hkb_test1中Y的值既是1,也是3,也是5的X select * from hkb_test1;X Y---- -----a 1b 1a 3d 2e 4f 5a 5d 3d 6b 5c 4b 3结果:X----ab--方法一select x from hkb_test1gro... 阅读全文
posted @ 2007-11-30 14:00 简单男人! 阅读(2113) 评论(0) 推荐(0) 编辑
for c in代替insert select
摘要:----过程代码(insert into比for c in效率高 ) create or replace procedure p_hkb_test is begin begin insert into hkb_test1 (USER_NAME, AGE, USER_ID) select a.user_name, a.age, a.user_id from hkb... 阅读全文
posted @ 2007-11-06 16:42 简单男人! 阅读(1559) 评论(0) 推荐(0) 编辑
oracle日期函数2!
摘要:1.日期时间间隔操作 当前时间减去7分钟的时间select sysdate,sysdate - interval '7' MINUTE from dual当前时间减去7小时的时间select sysdate - interval '7' hour from dual当前时间减去7天的时间select sysdate - interval '7' day from dua... 阅读全文
posted @ 2007-10-26 11:14 简单男人! 阅读(1880) 评论(0) 推荐(0) 编辑
oracle中case语句
摘要:-- Create tablecreate table HKB_TEST3( USER_ID NUMBER(4), AGE NUMBER(4), USER_NUMBER NUMBER(4))SQL> select * from hkb_test3;USER_ID AGE USER_NUMBER------- ----- ----------- 1 12 2 14 3 16 4 11 例... 阅读全文
posted @ 2007-10-24 19:08 简单男人! 阅读(2093) 评论(0) 推荐(0) 编辑
动态SQL--灵活操作各种数据!
摘要:静态SQL用于完成特定的功能,动态SQL用于灵活的处理各种数据 PS:执行动态SQL语句,需要将SQL语句存放到字符串变量中,且SQL语句可以包含占位符(以冒号开始)占位符例子: select * from test where name=:1; --红色表示占位符1、定义: 动态SQL是指在运行PL/SQL块的时动态输入的SQL语句。 2、使用动态SQL的条件: 1)执行DDL语句 如:crea... 阅读全文
posted @ 2007-10-19 17:10 简单男人! 阅读(903) 评论(0) 推荐(0) 编辑
oracle的游标和例子!
摘要:游标-----内存中的一块区域,存放的是select 的结果 游标用来处理从数据库中检索的多行记录(使用SELECT语句)。利用游标,程序可以逐个地处理和遍历一次检索返回的整个记录集。为了处理SQL语句,Oracle将在内存中分配一个区域,这就是上下文区。这个区包含了已经处理完的行数、指向被分析语句的指针,整个区是查询语句返回的数据行集。游标就是指向上下文区句柄或指针。两种游标:一、显示游标(需要... 阅读全文
posted @ 2007-09-12 18:05 简单男人! 阅读(45572) 评论(1) 推荐(4) 编辑
oracle表的操作!
摘要:单表的操作!(代码完全可以用手工代替,写下来为了记忆)1.建立表create table HKB_TABLE_MODIFY( NAME VARCHAR2(6), AGE VARCHAR2(3), SEX VARCHAR2(2))2.修改表添加字段:alter table HKB_TABLE_MODIFY add ADDRESS nvarchar2(3);删除字段:alter table HKB_T... 阅读全文
posted @ 2007-08-27 17:23 简单男人! 阅读(952) 评论(0) 推荐(2) 编辑
oracle数据库select的学习!
摘要:select格式:SELECT [ ALL | DISTINCT ] <字段表达式1[,<字段表达式2[,…] FROM <表名1>,<表名2>[,…] [WHERE <筛选择条件表达式>] [GROUP BY <分组表达式> [HAVING<分组条件表达式>]] [ORDER BY <字段>... 阅读全文
posted @ 2007-08-23 16:18 简单男人! 阅读(7915) 评论(0) 推荐(0) 编辑
Oracle 条件语句和循环语句的学习(1)
摘要:有两种方式可以实现条件循环一、for 变量 in 开始数值...结束数值 loop end loop;二、while 条件 loop end loop;loop的使用方式:一、X := 100; LOOP X := X + 10; IF X > 1000 THEN EXIT; END IF END LOOP; Y := X;二、 X := 100; LOOP X := X + 10; EXI... 阅读全文
posted @ 2007-08-15 10:29 简单男人! 阅读(3527) 评论(0) 推荐(0) 编辑
Oralce字符串函数!
摘要:常用的字符串函数:SQL> select instr('Hello World!','o',1,1),instr('Hello World!','o',1,2),instr('Hello World!','o',6,2) from dual;INSTR('HELLOWORLD!','O',1,1) INSTR('HELLOWORLD!','O',1,2) INSTR('HELLOWORLD!... 阅读全文
posted @ 2007-08-14 10:11 简单男人! 阅读(5002) 评论(0) 推荐(0) 编辑
Oracle常用日期函数!
摘要:常用的时间格式掩码如下:掩码元素 含义YYYY四位数年份 (如:2005) yearYY二位数年份(如 05) Q季度(1-4) MM月份(01-12) monthWW年的星期数(1-53),其中第一星期为年的第一天至第七天 W月的星期数(1-5),其中第一星期为月的第一天至第七天 DDD年的日(1-366) DD月的日(1-31)D周的日(1-7),其中周日为1,周六为7dayHH2424小时制... 阅读全文
posted @ 2007-08-13 15:48 简单男人! 阅读(7558) 评论(0) 推荐(0) 编辑