csii_根據acct表同一個acctnbr(列轉行)動態sql_儲存過程
create or replace procedure proc_acct(in_table in varchar2 default 'ACCT',o_str out varchar2)
as
v_reccnt integer;
v_colcnt integer;
v_str varchar2(3000):='';
v_col user_tab_columns.COLUMN_NAME%type;
v_data_type user_tab_columns.data_type%type;
v_data_length user_tab_columns.DATA_LENGTH%type;
cursor cur_acct is select infortyp,addr from acct;
v_infortyp acct.infortyp%type;
v_addr acct.addr%type;
begin
select count(1) into v_reccnt from acct;
for i in 1..v_reccnt loop
for x in (select column_name,data_type,data_length
from user_tab_columns
where table_name=upper(in_table) and column_name not in('ACCTNBR')) loop
v_str:=v_str||x.column_name||i||' '||x.data_type||''||'('||x.data_length||'),';
end loop;
end loop;
v_str:=substr(v_str,1,length(v_str)-1);
v_str:='acctnbr number(22),'||v_str;
v_str:='create table v_t('||v_str;
v_str:=v_str||')';
o_str:=v_str;
execute immediate o_str;
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/9240380/viewspace-680287/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 一個根據已有表結構來建立新表的儲存過程儲存過程
- 用儲存過程動態建立表儲存過程
- /*動態執行儲存過程DEMO*/儲存過程
- 動態儲存過程儲存過程
- 寫了一個MySQL的行轉列的儲存過程薦MySql儲存過程
- 動態呼叫儲存過程 sample:儲存過程
- oracle動態sql儲存過程示例OracleSQL儲存過程
- 自動生成對錶進行插入和更新的儲存過程的儲存過程 (轉)儲存過程
- java儲存過程根據檔案的內容返回一個MD5值Java儲存過程
- 啟動SQL SERVER時自動執行儲存過程(轉)SQLServer儲存過程
- MySQL 儲存過程進行切換表MySql儲存過程
- oracle儲存過程(procedure)中執行動態SQL小記Oracle儲存過程SQL
- JAVA儲存過程(轉)Java儲存過程
- SQL 儲存過程裡呼叫另一個儲存過程SQL儲存過程
- PL/SQL中動態掉用儲存過程SQL儲存過程
- 動態呼叫帶引數的儲存過程儲存過程
- 使用ADO執行儲存過程 (轉)儲存過程
- 使用Command執行儲存過程 (轉)儲存過程
- 自動編號的儲存過程 (轉)儲存過程
- 從sybase的儲存過程轉向oracle的儲存過程儲存過程Oracle
- c# 三步遞交模式呼叫同一個儲存過程C#模式儲存過程
- MySQL儲存過程裡動態SQL的使用UXMySql儲存過程UX
- Sql儲存過程分頁--臨時表儲存SQL儲存過程
- 在ORACLE裡用儲存過程定期分割表(轉)Oracle儲存過程
- 行為儲存過程(23)儲存過程
- MySql儲存過程—2、第一個MySql儲存過程的建立MySql儲存過程
- oracle儲存過程中的陣列Oracle儲存過程陣列
- 儲存過程中巢狀儲存過程的變數執行方式儲存過程巢狀變數
- 儲存過程vs.動態SQL:如何選用?PV儲存過程SQL
- 根據需要動態include不同的檔案 (轉)
- 根據條件動態更新不同表的資料
- MySQL儲存過程詳解 mysql 儲存過程MySql儲存過程
- 儲存過程結果進行查詢 select 存過過程儲存過程
- mysql 儲存過程 procedure 批次建表MySql儲存過程
- 更新大表中某個欄位的儲存過程儲存過程
- 自動儲存、靜態儲存和動態儲存
- 移動索引的儲存過程索引儲存過程
- 儲存過程儲存過程