獲取某張表的表結構
今天看來yangtingkun的獲取表結構,發現在10g裡不能dbms_output.put_line不能把表結構全部顯示出來(就是設定dbms_output.enable(10000都不能顯示完)),覺得不很方便,我稍微改進了一下,可以獲取表結構,並可以直接執行該sql檔案,建立該表!
$cat gettabledefine.sh
#!/bin/bash
sqlplus $1/$2<
spool tabledefine.tmp
execute P_TEST('$3');
spool off
exit
EOF
aparm="CREATE TABLE $1."
echo $aparm
awk 'NF>0' /home/oracle/dmp/tabledefine.tmp|grep -v "SQL>"|grep -v "PL/SQL procedure successfully completed"|sed -e 's/$aparm/{CREATE TABLE }/g'>/home/oracle/dmp/$3_define.sql
$1:schema的使用者名稱 $2:密碼 $3:表
下面是儲存過程:
CREATE OR REPLACE PROCEDURE P_TEST(T_NAME IN VARCHAR2) AUTHID CURRENT_USER AS
de varchar2(4000);
a number;
b number;
c number;
BEGIN
FOR I IN (SELECT DBMS_METADATA.GET_DDL('TABLE', upper(T_NAME)) DEFINE FROM DUAL) LOOP
de:=replace(I.DEFINE,'"','');
END LOOP;
a:=trunc(length(de)/200)+1;
b:=1;
dbms_output.enable(10000);
while b <= a loop
c := Instr(SUBSTR( de,1, 200), ' ', -1, 1);
DBMS_OUTPUT.PUT_line(SUBSTR(de, 1, c));
de:=SUBSTR( de, c+1,length(de)-c);
b:=b+1;
end loop;
DBMS_OUTPUT.PUT_line(';');
-- gawk 'NF>0' 1.txt >2.txt 去掉文字里面的空行
END;
/
當然也可以再改進一下來獲取某個使用者下的所有表的結構!這裡就不再深入了!!
[@more@]來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/7916042/viewspace-889696/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 用sed從mysqldump全備檔案中取出某張表的表結構MySql
- 【MSSQL】SSMS快速獲取表結構SQLSSM
- jdbcTemplate 獲取資料表結構JDBC
- 獲取表的結構、欄位描述等
- MYSQL建立多張表,相同表結構,不同表名MySql
- Sql Server 獲取指定表、檢視結構SQLServer
- 如何從MySQL全庫備份的dump檔案中恢復某張表和表結構MySql
- mysqldump 備份匯出資料排除某張表或多張表MySql
- oracle建立一張與其他表相同表結構的空表Oracle
- sql2008 獲取表結構說明SQL
- 讀取SQL Server 表結構SQLServer
- 【Mysql】恢復slave上某幾張表的方法MySql
- goldengate 過濾對某張表的複製操作Go
- JDBC獲取表的列數JDBC
- MySQL複製表結構和內容到另一張表中的SQL語句MySql
- MYSQL 匯出資料庫中某張表的部分數…MySql資料庫
- Oracle獲取所有表名資訊和獲取指定表名欄位資訊Oracle
- 表管理之三:表與表結構的管理
- SQLSERVER查詢某個資料庫有幾張表SQLServer資料庫
- js獲取表單元素所在的form表單物件JSORM物件
- 從MySQL全庫備份中恢復某個庫和某張表MySql
- PHP獲取表單方法PHP
- 批量獲取表定義的方法
- Oracle表結構轉換SqlSERVER表結構 指令碼OracleSQLServer指令碼
- 查詢mysql某張表中的所有資料(欄位)型別MySql型別
- 從全備份的SQL語句中恢復某張表 [原創]SQL
- js獲取form表單下所有表單元素JSORM
- PostgreSQL 函式獲取表DDLSQL函式
- mssql 獲取表空間大小SQL
- sql server 樹狀結構表中,獲取指定節點的所有父節點路徑SQLServer
- 獲取表單物件的三種方法物件
- 獲取SQL資料庫中某個表中的所有欄位名稱的通用方法SQL資料庫
- jQuery獲取表單值及幾個表單事件jQuery事件
- mysql怎麼複製一張表的資料到另一張表MySql
- jQuery獲取某元素下所有的連結元素jQuery
- 查詢表結構
- clickhouse如何表結構
- Mysql匯出表結構、表資料MySql