create or replace procedure "CREAR_PF_VIEW" is pragma AUTONOMOUS_TRANSACTION; cursor cur is --定义游标 SELECT SPBLX FROM YDS_SHBPDY; sqlstr varchar2(32767); sql_ls varchar2(32767); uid varchar2(32767); begin open cur; fetch cur into uid; sqlstr := 'create or replace view V_PF as select * from (select distinct XMBH as XMBH From YDS_SHPB ) X1 '; while cur%found loop sql_ls := ' left join (select B.XMBH as '|| uid || '_BH,B.JBRYJ as '|| uid || '_YJ,B.JBR1 as '|| uid || '_QZ, B.JBRQ1 as '|| uid || '_RQ from YDS_SHBPDY A,YDS_SHPB B where A.SPBLX = B.SPBLX and A.SPBLX ='''|| uid|| ''' ) '|| uid|| ' on X1.XMBH = '|| uid|| '.'|| uid || '_BH'; sqlstr := sqlstr || sql_ls; -- dbms_output.put_line(sql_ls); ---执行拼接字符串 -- execute immediate sqlstr; fetch cur into uid; end loop; close cur; --dbms_output.enable(100000000); --dbms_output.put_line(sqlstr); execute immediate sqlstr; commit; end;
oracle建立视图v1,ORACLE 存储过程动态创建视图
最新推荐文章于 2022-12-15 16:14:03 发布