oracle存储过程例子二

来源:互联网 发布:koka方便面 知乎 编辑:程序博客网 时间:2024/04/26 15:09

刘贤同学写的一个例子,很不错,所以就收藏一下:)

sql 代码
  1. create or replace  
  2. PROCEDURE p_insert_t   
  3. (v_x in NUMBER)   
  4. IS  
  5. temp_id number;   
  6. BEGIN  
  7. FOR i IN 1..v_x LOOP   
  8. select SEQ_B_USER_ID.nextval into temp_id from dual;   
  9. insert into buser (id, username, nickname, status, createdtime) values(temp_id, to_char(temp_id), to_char(temp_id), 0, sysdate);   
  10. END LOOP;   
  11. END;   
  12. --execute  

创建sequence的方法(备忘):

sql 代码
  1. CREATE SEQUENCE SEQ_B_USER_ID INCREMENT BY 1 START WITH 1;   

 复制一个表的结构:

sql 代码
  1. create table test as select * from bookmarkcategory where 1=2;  

 随机数:

sql 代码
  1. select dbms_random.value(1,20) from dual;  

 游标的使用例子:

sql 代码
  1. SET SERVERIUTPUT ON     
  2. DECLARE     
  3. CURSOR c_emp IS select title from bookmarkcategory where username='130';   
  4. r_emp c_emp%ROWTYPE;     
  5. BEGIN     
  6.  OPEN c_emp;     
  7.  -- LOOP     
  8.  FETCH c_emp INTO r_emp;     
  9.     --EXIT WHEN c_emp%NOTFOUND;     
  10.     --DBMS_OUT.PUT.PUT_LINE('Salary of Employee is'|| r_emp.title);     
  11.   --END LOOP;     
  12.  update bookmarkcategory set title = r_emp.title where id=121;   
  13.  CLOSE c_emp;     
  14. END;    

转贴地址:http://liudaoru.javaeye.com/blog/143754

原创粉丝点击