動態sql查詢結果多行的處理情況
CREATE OR REPLACE PROCEDURE DATACODE
IS
cursor cur_table is select table_name from tab_name;
v_tablename varchar2(20);
v_count number(5);
v_sql varchar2(1000);
no_table exception; --定義一個異常
pragma exception_init(no_table,-00942); --查詢中如果表不存在,oracle報的錯誤
begin
select count(*) into v_count from tab_name;
open cur_table;
fetch cur_table into v_tablename;
for i in 1..v_count loop
v_sql :='insert into remark SELECT A.ID "ID",A.MC "名稱",A.COMP "單位代號",C.NAME "單位",'''||v_tablename||''' FROM '||v_tablename||' A,
(SELECT COMPID FROM COMPANYINFO
CONNECT BY PRIOR COMPID=PCOMPID
START WITH COMPID=(SELECT MAX(CSZ) FROM XTCS WHERE CSMC=''COMPID_XNZXTOP'')) B,
COMPANYINFO C
WHERE A.COMPID=B.COMPID(+) AND B.COMPID IS NULL AND A.COMPID=C.COMPID';
begin
execute immediate v_sql; --對於查詢的多行資料,需要建立臨時表儲存資料,執行sql的語句與單行查詢不同
exception
when no_table then
insert into remark values(null,null,null,null,v_tablename); --如果表不存在的話,僅僅插入表名,其他列為空值
commit;
end;
commit;
fetch cur_table into v_tablename;
end loop;
close cur_table;
end;
在這個例子中,需要注意的是兩個地方:一個是如何將變數的值插入到表中;另外一個是如果處理返回多條查詢的動態sql
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28803801/viewspace-773586/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- PLSQL Language Referenc-PL/SQL靜態SQL-查詢結果集處理SQL
- PLSQL Language Referenc-PL/SQL靜態SQL-帶有子查詢的查詢結果集處理SQL
- PB帶引數帶結果集的動態SQL查詢SQL
- 月結各模組關閉情況查詢SQLSQL
- mysql中的多行查詢結果合併成一個MySql
- ORACLE SQL的查詢表的鎖的情況OracleSQL
- SQL SERVER 動態查詢SQLServer
- 查詢鎖等待情況
- Mybatis底層原理學習(三):查詢結果集的處理原理MyBatis
- SQL中除數為0處理情況演示SQL
- 返回部分結果後,才報單行子查詢返回多行。
- MySQL 查詢處理 SQL查詢執行順序MySql
- 表空間使用情況查詢慢的處理
- 處理表鎖定的情況
- JAVA資料庫處理(連線,資料查詢,結果集返回)Java資料庫
- Oracle 查詢DB的負載情況Oracle負載
- SQL 把查詢結果當作"表"來使用SQL
- SQL Server對組合查詢結果排序方法SQLServer排序
- SQL查詢結果集對注入的影響及利用SQL
- mysql查詢結果多列拼接查詢MySql
- 動態SQL——構造通用動態頁面查詢SQL
- 透過union all把sql查詢的結果拼接起來SQL
- PHP--動態生成sql查詢表格PHPSQL
- sqlserver查詢結果中新增自動編號SQLServer
- 利用SQL Profiler處理開銷較大的查詢SQL
- Java程式異常處理的特殊情況Java
- linq to sql的多條件動態查詢SQL
- navicat 匯出查詢結果
- mysql匯出查詢結果MySql
- 查詢(2)--動態查詢
- PostgreSQL在何處處理 sql查詢之六十六SQL
- 使用查詢結果更新表的方法
- oracle 查詢結果的各種格式Oracle
- 查詢當前正在執行的job的情況
- xsl中,對xml文件查詢的結果再次查詢XML
- oracle動態sql語句處理(轉)OracleSQL
- Mongodb記憶體管理和使用情況情況查詢MongoDB記憶體
- Linq to Sql : 動態構造Expression進行動態查詢SQLExpress