MARCO's FREE MEMO

携帯フォトや備忘録などをちょこっと…

Oracleのテーブル情報

2006年08月23日 15時32分28秒 | Database
Oracleはuser_tab_columnsというテーブルにテーブル情報を格納している。
これを使うとファイルレイアウトが作れる。

ASPでのサンプル(部分)

Response.Write "<table border=1 style='font-size:9pt'>"
Response.Write "<tr bgcolor=#cccccc><td>No</td><td>フィールド名</td>"
Response.Write "<td>備考</td><td>型</td><td>長さ</td><td>Null</td></tr>"
StrSQL="select A.*,B.comments " _
 & "from user_tab_columns A, user_col_comments B " _
 & "where A.table_name = B.table_name and A.column_name = B.column_name and " _
 & "A.table_name = '" & tbl & "' order by A.column_id"
Set ObjRS = session("OraDatabase").CreateDynaset(StrSQL, ORADYN_DEFAULT)
Do Until ObjRS.EOF
 Response.Write "<tr><td align=right>" & ObjRS("COLUMN_ID") & "</td>"
 Response.Write "<td>" & ObjRS("COLUMN_NAME") & "</td><td>" & ObjRS("COMMENTS") & " </td>"
 If ObjRS("DATA_TYPE")="CHAR" Or ObjRS("DATA_TYPE")="VARCHAR2" Then
  Response.Write "<td>" & ObjRS("DATA_TYPE") & "</td>"
  Response.Write "<td align=right>" & ObjRS("DATA_LENGTH") & "</td>"
 ElseIf ObjRS("DATA_TYPE")="NUMBER" Then
  If IsNull(ObjRS("DATA_PRECISION")) Then
   Response.Write "<td>INT</td><td> </td>"
  Else
   Response.Write "<td>" & ObjRS("DATA_TYPE") & "</td>"
   Response.Write "<td align=right>" & ObjRS("DATA_PRECISION") & "." & ObjRS("DATA_SCALE") & "</td>"
  End If
 Else
  Response.Write "<td>" & ObjRS("DATA_TYPE") & "</td><td> </td>"
 End If
  Response.Write "<td>" & ObjRS("NULLABLE") & "</td></tr>"
 ObjRS.MoveNext
Loop
Set ObjRS = Nothing
Response.Write "</table>"

#先日「音楽寅さん」という番組を見て大笑いしてしまった。一音階だけでも音楽になるんだなあ(感心)

最新の画像もっと見る