oracle 存儲過程 循環

oracle 循環 模板
 

create or replace procedure PRO_DelBuildDissRelation as
 Cursor cursor is    select  *  from  students;
   begin

        for item in cursor LOOP

        begin
        --打印學生的屬性值 
        dbms_output.put_line(  item.name  );

        end;
 end LOOP;

end PRO_DelBuildDissRelation;

其他模式  直接作爲sql 執行的方式:

 

DECLARE
    v_tbname VARCHAR(64);
    v_sql varchar2(3000);
    v_oid varchar(50):='204057546';
BEGIN
    FOR tb IN (select * from all_tables where owner='HHD' AND TABLE_NAME LIKE 'VDW_MD_HHD%') LOOP
        v_tbname:=tb.Table_Name;
        v_sql := 'insert into TMP_HIS_ANS_HHD(TABLENAME,MI_ID,MI_TAR_CLSID,MI_TAR_OID,MI_SHAPE_TYPE,MI_SHAPE_TITLE,MI_SHAPE_LNG,MI_SHAPE_LAT,MI_SHAPE,EDITTIME,EDITUSER,MI_ZOOM,MI_SHAPE_STATE) select '''||v_tbname||''', MI_ID,MI_TAR_CLSID,MI_TAR_OID,MI_SHAPE_TYPE,MI_SHAPE_TITLE,MI_SHAPE_LNG,MI_SHAPE_LAT,MI_SHAPE,EDITTIME,EDITUSER,MI_ZOOM,MI_SHAPE_STATE from '|| tb.owner ||'.'||tb.table_name||' t WHERE T.MI_TAR_OID='||v_oid;
        execute immediate v_sql;
        --dbms_output.put_line(v_sql);
    END LOOP;
END;


 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章