一 Oracle 循环插入测试数据 declare maxrecords constant int:=1000; i int :=1; begin for i in 1..maxrecords loop insert into UserInfo(UserID,login,password,firstName,lastName,ISADMINISTRATOR) values(SYS_GUID(),TO_CHAR('9999'+i),'password','fri
create or replace function Fun_GetRoleIDList(d_fid char) return varchar is rolelist varchar(2000);begin rolelist := ''; ---定义游标 declare cursor role_cur is select a.roleid from u_roleinfo a , u_node_roles b where a.roleid=b.roleid and b.fid=d_fid
1.基本循环(至少会执行一次) DECLARE I ; BEGIN LOOP --循环开始 DBMS_OUTPUT.PUT_LINE('VALUE:'||I); ; --退出循环条件: I:; --循环监视变量 END LOOP; --循环结束 END; 2.WHILE循环(只有满足while添加才能执行) DECLARE I ; BEGIN LOOP --LOOP 后面没有分号 DBMS_OUTPUT.PUT_LINE('VALUE'||I); I:; END LOOP; END; 3.For
create or replace procedure pr_zhaozhenlong_loop /* 名称:在存储过程中执行3种循环语句 功能:利用循环给表中插入数据 调用: begin -- Call the procedure pr_zhaozhenlong_strsql; end; 创建人:赵振龙 创建时间:2007-01-03 */ is i int; begin i :; loop ,)); ; i :; end loop; -- i :; loop ,)); i :; end lo
create or replace procedure p_test_loop as --定义一个游标,并将查询结果集赋值给它 CURSOR c1 IS select * from tbltest where dept='test'; begin --循环获取游标里的某个字段的值 for cardinfo in c1 loop p_testproc(cardinfo.cardid);--使用这个值做一些事情 end loop; end;
declare maxnumber constant number:=10000; i number :=1; begin for i in 1..maxnumber loop insert into DEPT(DEPTID,DEPTNAME,FATHERID) values(i,CONCAT('test',i),i-1); --CONCAT('test',i)是将test与i进行拼接 end loop; dbms_output.put_line(' 成功录入数据! '); commit; en
一.在PL\SQL语句块begin...end;中,不能直接使用select,必须与into结合查询. 例如: declare aa:=22; id2 integer; begin select * from tabname where id=aa : end;//提示错误该select语句中缺少into子句 正确:select count(*)into id2 from tabname where id=aa : 当然这样只能得到一条数据,如果需要多数据查询可以使用游标: 二.oracle循
1.ORACLE中的GOTO用法 DECLARE x number; BEGIN x := 9; <<repeat_loop>> --循环点 x := x - 1; DBMS_OUTPUT.PUT_LINE(X); IF X > 0 THEN GOTO repeat_loop; --当x的值小于9时,就goto到repeat_loop END IF; END; 2.ORACLE中的FOR循环用法 DECLARE X number; --声明变量 BEGIN x :; --
一,日期相关的函数 Select to_char(sysdate,'Q') from dual;--指定日期的季度 Select to_char(sysdate,'MM') from dual;--月份 Select to_char(sysdate,'WW') from dual;--当年第几周 Select to_char(sysdate,'W') from dual ;--本月第几周 Select to_char(sysdate,'DD') from dual;--当月第几天 Select
oracle存储过程.声明变量.for循环 1.创建存储过程 create or replace procedure test(var_name_1 in type,var_name_2 out type) as --声明变量(变量名 变量类型) begin --存储过程的执行体 end test; 打印出输入的时间信息 E.g: create or replace procedure test(workDate in Date) is begin dbms_output.putline(&ap
今天来说下Oracle中的循环迭代处理,因为从自己的博客统计中看到,不少网友都搜索了关键字"SQL FOR循环",所以打算在这里说下个人的理解. PL/SQL也和我们常用的编程语言一样,提供了While.For等循环,我们建几个例子来说明演示下. 首先是While循环: --while循环 procedure loop_while ( start_value in number, end_value in number ) is current_value number := star
1.主键自增实现方法:http://www.cnblogs.com/Donnnnnn/p/5959871.html 2.for循环往Oracle中插入n条数据 BEGIN .. loop insert into S_Depart(departId,Departname,Departorder)values(S_S_Depart.Nextval,); end loop; end; 上面循环了50次 执行后,记得commit提交.....
完成批量修改user_tables中的所有表的栏位名(从MS SQL导入过来,发现大小写问题,造成很多麻烦) 存储过程见下: -- Created on 2012/3/14 by FREE declare -- Local variables here Cursor tbl_cur is select table_name from user_tables; --col_cur Cursor; i integer; tbl_name ); ); begin -- Test statements