3循环使用
BEGIN
DECLARE p_name varchar(100);
a number;
BEGIN
a:=1;
loop
select USER_NAME into p_name from U_USER WHERE fullname='xlc';
dbms_output.put_line(p_name||a);
exit WHEN (a=5);
a :=a+1;
END loop;
END;
end;
--4:while 循环
begin
DECLARE p_name varchar(100);
a number;
BEGIN
a:=1;
while (a<=5) loop
select USER_NAME into p_name from U_USER WHERE fullname='xlc';
dbms_output.put_line(p_name||a);
a :=a+1;
END loop;
END;
END;
SELECT user_name from (SELECT ROWNUM as n,u.* from U_USER u) where n <=2
--5:for in 使用cursor
BEGIN
DECLARE p_name VARCHAR(100);
CURSOR culResult is SELECT user_name from (SELECT ROWNUM as n,u.* from U_USER u) where n <=2;
BEGIN
FOR a in culResult loop
BEGIN
p_name :=a.user_name;
dbms_output.put_line(p_name||' ok');
END;
END loop;
END;
END;
**/
http://wenku.baidu.com/link?url=kqIBe8JDBYnE3lLGyan5LzAEgvpHinyZqxrguUE3WNOgNXLx3Na6XQrUZwO_jd6VWTGJ9czS8NEwzhkhfpyzUxWBn36KmJhw8KFz9prM20i
/**
--3循环使用
BEGIN
DECLARE p_name varchar(100);
a number;
BEGIN
a:=1;
loop
select USER_NAME into p_name from U_USER WHERE fullname='xlc';
dbms_output.put_line(p_name||a);
exit WHEN (a=5);
a :=a+1;
END loop;
END;
end;
--4:while 循环
begin
DECLARE p_name varchar(100);
a number;
BEGIN
a:=1;
while (a<=5) loop
select USER_NAME into p_name from U_USER WHERE fullname='xlc';
dbms_output.put_line(p_name||a);
a :=a+1;
END loop;
END;
END;
SELECT user_name from (SELECT ROWNUM as n,u.* from U_USER u) where n <=2
--5:for in 使用cursor
BEGIN
DECLARE p_name VARCHAR(100);
CURSOR culResult is SELECT user_name from (SELECT ROWNUM as n,u.* from U_USER u) where n <=2;
BEGIN
FOR a in culResult loop
BEGIN
p_name :=a.user_name;
dbms_output.put_line(p_name||' ok');
END;
END loop;
END;
END;
**/
1:先执行:创建MD5
CREATE OR REPLACE
FUNCTION MD5(
passwd IN VARCHAR2)
RETURN VARCHAR2
IS
retval varchar2(32);
BEGIN
retval := utl_raw.cast_to_raw(DBMS_OBFUSCATION_TOOLKIT.MD5(INPUT_STRING => passwd)) ;
RETURN retval;
END;
2:删除无效数据
DELETE from U_USER WHERE last_logtime is NULL
3:修复总部员工编号重复
BEGIN
DECLARE
tempSize VARCHAR(20);
i number;
CURSOR user_cur IS
SELECT USER_ID,JOB_NO from U_USER WHERE job_no IN(SELECT JOB_NO FROM CLSPUSER.U_USER GROUP BY JOB_NO HAVING count(1)>1);
c_row user_cur%rowtype;
BEGIN
FOR c_row IN user_cur loop
SELECT max(substr(JOB_NO,length(JOB_NO)-3,length(JOB_NO)))+1 INTO tempSize from U_USER WHERE JOB_NO LIKE 'ZHHQ%';
i:=to_number(length(tempSize));
if(i=1) then
tempSize:='ZHHQ000';
ELSE IF (i=2) THEN
tempSize:='ZHHQ00';
dbms_output.put_line(tempSize);
ELSE if (i=3) then
tempSize:='ZHHQ0';
dbms_output.put_line(tempSize);
end if;
end if;
end if;
--修改
UPDATE U_USER
SET
user_name=(SELECT tempSize|| (max(substr(JOB_NO,length(JOB_NO)-3,length(JOB_NO)))+1) FROM CLSPUSER.U_USER WHERE JOB_NO LIKE 'ZHHQ%'),
password='123456',
passwd_MD5=lower(substr(MD5('123456'), 11, 16)),
job_no=(SELECT 'ZHHQ000'|| (max(substr(JOB_NO,length(JOB_NO)-3,length(JOB_NO)))+1) FROM CLSPUSER.U_USER WHERE JOB_NO LIKE 'ZHHQ%')
WHERE USER_ID=c_row.user_ID;
END loop;
end;
END;
4:在执行批量修改
merge into CLSPUSER.U_USER clsp
using (SELECT emp_no, substr(id_card, length(id_card) - 6, 6) password from SALARYUSER.crf_salary_p2p_emp) sale
ON (clsp.job_no = sale.emp_no)
WHEN matched THEN
UPDATE
SET clsp.user_name = sale.emp_no,
clsp.password = sale.password,
clsp.passwd_md5 = (SELECT lower(substr(MD5(sale.password), 11, 16)) from dual);
相关推荐
oracle循环插入oracle循环插入oracle循环插入oracle循环插入oracle循环插入oracle循环插入oracle循环插入oracle循环插入
Oracle循环示例 Oracle循环示例 Oracle循环示例
Oracle循环插入,用于添加测试数据。
该资源介绍如何通过在oracle循环中查询数据
kettle oracle循环分页迁移数据的完整例子,生成txt后FTP上传到远程服务器
oracle 游标FOR循环
有关于oracle的循环游标的内容。
多维度查询时通常需要建立多个游标循环,查询效率无法得到保障,现在通过游标和substr()函数相结合的方式提高查询效率
Oracle 在模块中经常会使用游标进行数据相关操作,循环使用颇多。。。
Oracle 游标使用方法及语法大全 Oracle 游标是 PL/SQL 程序中的一种重要组件,用于处理查询结果集。游标可以分为隐式游标和显式游标两种,隐式游标由 PL/SQL 管理,隐式游标打开时查询开始,查询结束时隐式游标自动...
我们在日常使用SQL 编程或者使用SQL 进行复杂的查询等时候经常会遇到需要循环的炒作,但是游标又太慢。我们如何来实现呢?
在Oracle中的三种循环模式:Loop、For、While 希望对大家有帮助,更多资料请访问:Http://blog.sina.com.cn/livelouis
游标是SQL的一个内存工作区,由系统或用户以变量的形式定义。游标的作用就是用于临时存储从数据库中提取的数据块。在某些情况下,需要把数据从存放在磁盘的表中调到计算机内存中进行处理,最后将处理结果显示出来或...
Oracle笔记 八、PL/SQL跳转/判断/循环语句块 Oracle笔记 九、PL/SQL 游标的使用 Oracle笔记 十、PL/SQL存储过程 Oracle笔记 十一、PL/SQL函数和触发器 Oracle笔记 十二、PL/SQL 面向对象oop编程 Oracle笔记 十...
Oracle采购应付循环Release 11i训练教材
1、全面覆盖:本资源涵盖了退出当前循环并结束整个循环、结束循环、跳过当前循环、终止循环等多种控制...9、本资源适合所有对Oracle PL/SQL感兴趣的开发者,无论是新手入门,还是资深专家,都能从中获得实用的技能。
oracle 动态执行sql 循环 if判断 取余函数
利用oracle存储过程,方便快捷创建大量测试表!!!!!
Oracle 中的日期和时间可以使用 sysdate 函数来获取当前的日期和时间。sysdate 函数返回当前的日期和时间,包括年、月、日、时、分和秒。 例如,使用 sysdate 函数可以获取当前的日期和时间:select sysdate from ...