日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

OracleExcel VBA写获取表字段类型及约束语句

發布時間:2025/3/17 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 OracleExcel VBA写获取表字段类型及约束语句 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Oracle:

select /*字段及注釋*/t1.owner,t1.table_name,t2.comments,t1.column_name,t3.comments,/*字段類型*/t1.data_type,t1.DATA_LENGTH,t1.DATA_PRECISION, /*字段約束*/t1.nullable,t6.c_unique,t6.c_primary,t6.c_relafrom all_tab_columns t1 left join all_tab_comments t2 on t1.owner=t2.owner and t1.table_name=t2.table_name left join all_col_comments t3 on t1.owner=t3.owner and t1.table_name=t3.table_name and t1.column_name=t3.column_nameleft join (select * from (select t4.OWNER,t4.TABLE_NAME,t4.COLUMN_NAME,t5.CONSTRAINT_TYPE from all_cons_columns t4 left join all_constraints t5 on t4.constraint_name=t5.constraint_name and t4.owner=t5.owner and t4.table_name=t5.table_namewhere t4.TABLE_NAME= v_table_name and CONSTRAINT_TYPE<>'C' --******傳表名) pivot (max(CONSTRAINT_TYPE) for CONSTRAINT_TYPE in ('U' as c_unique,'P' as c_primary,'R' as c_rela)) ) t6on t1.owner=t6.owner and t6.TABLE_NAME=t1.TABLE_NAME and t1.column_name=t6.column_name where t1.OWNER= v_owner and t1.TABLE_NAME=v_table_name ORDER BY T1.COLUMN_ID ; --******傳表名

Excel VBA

Dim conn As New ADODB.Connection Dim strConn As String Dim strconn1 As String Set conn = CreateObject("ADODB.Connection") Set rst = CreateObject("ADODB.recordset") sqls = "" sqls = sqls & "select " sqls = sqls & "t1.owner as ""用戶名"",t1.table_name as ""表名稱"",t2.comments as ""表注釋"",t1.column_name as ""字段名稱"",t3.comments as ""字段注釋"", " sqls = sqls & "t1.data_type as ""字段類型"",t1.data_length as ""字段長度"" ,t1.data_precision as ""字段精度"", " sqls = sqls & "t1.nullable as ""是否允許為空"",t6.c_primary as ""是否為空"" , t6.c_unique as ""是否唯一"",t6.c_rela as ""是否關聯外鍵"" " sqls = sqls & "from all_tab_columns t1 " sqls = sqls & "left join all_tab_comments t2 on t1.owner=t2.owner and t1.table_name=t2.table_name " sqls = sqls & "left join all_col_comments t3 on t1.owner=t3.owner and t1.table_name=t3.table_name and t1.column_name=t3.column_name " sqls = sqls & "Left Join " sqls = sqls & "(select * from " sqls = sqls & "(select t4.OWNER,t4.TABLE_NAME,t4.COLUMN_NAME,t5.CONSTRAINT_TYPE from all_cons_columns t4 " sqls = sqls & "left join all_constraints t5 on t4.constraint_name=t5.constraint_name and t4.owner=t5.owner and t4.table_name=t5.table_name " sqls = sqls & " where t4.TABLE_NAME= '" & v_table_name & "' and CONSTRAINT_TYPE<>'C' " sqls = sqls & ") pivot (max(CONSTRAINT_TYPE) for CONSTRAINT_TYPE in ('U' as c_unique,'P' as c_primary,'R' as c_rela)) " sqls = sqls & ") t6 " sqls = sqls & "on t1.owner=t6.owner and t6.TABLE_NAME=t1.TABLE_NAME and t1.column_name=t6.column_name " sqls = sqls & "where t1.OWNER= '" & v_owner & "' and t1.TABLE_NAME= '" & v_table_name & "' ORDER BY T1.COLUMN_ID " '注意傳參'On Error GoTo excetpion Set rst = conn.Execute(sqls)Do While Not rst.EOF()'Next 下一行rst.MoveNextnum = num + 1 Loop '結束每行數據的處理

?

總結

以上是生活随笔為你收集整理的OracleExcel VBA写获取表字段类型及约束语句的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。