%@ LANGUAGE="VBScript" %>
<%
db_name=UCase(CStr(Request("db_name")))
If db_name="" Then
db_name="phdb"
End If
owner=UCase(CStr(Request("owner")))
If owner="" Then
owner="PHOFFLINE"
End If
table_name=UCase(CStr(Request("table_name")))
If table_name="" Then
table_name="CALIBRATIONS"
End If
Set Connection = Server.CreateObject("ADODB.Connection")
Connection.Mode = adModeRead
Select Case db_name
Case "PHDB"
Connection.Open phdb_rd
Case "CERN"
Connection.Open cern_rd
Case Else
Connection.Open phdb_rd
End Select
'
' primary keys
'
SQLStmt = " select ac.constraint_name,ac.table_name, "
SQLStmt = SQLStmt & " acc.column_name,acc.position "
SQLStmt = SQLStmt & " from all_constraints ac,all_cons_columns acc "
SQLStmt = SQLStmt & " where ac.owner='" & owner & "' "
SQLStmt = SQLStmt & " and ac.table_name='" & table_name & "' "
SQLStmt = SQLStmt & " and ac.constraint_type='P' "
SQLStmt = SQLStmt & " and ac.table_name=acc.table_name "
SQLStmt = SQLStmt & " and ac.owner=acc.owner "
SQLStmt = SQLStmt & " and ac.constraint_name=acc.constraint_name "
SQLStmt = SQLStmt & " order by ac.constraint_type,ac.constraint_name,acc.position "
Set RSp = Connection.Execute(SQLStmt)
'
' check conditions
'
SQLStmt = " select ac.constraint_name,ac.constraint_type,ac.table_name,ac.search_condition, "
SQLStmt = SQLStmt & " acc.column_name "
SQLStmt = SQLStmt & " from all_constraints ac,all_cons_columns acc "
SQLStmt = SQLStmt & " where ac.owner='" & owner & "' "
SQLStmt = SQLStmt & " and ac.table_name='" & table_name & "' "
SQLStmt = SQLStmt & " and ac.constraint_type='C' "
SQLStmt = SQLStmt & " and ac.table_name=acc.table_name "
SQLStmt = SQLStmt & " and ac.owner=acc.owner "
SQLStmt = SQLStmt & " and ac.constraint_name=acc.constraint_name "
SQLStmt = SQLStmt & " order by ac.constraint_type,ac.constraint_name,acc.position "
Set RSc = Connection.Execute(SQLStmt)
'
' foreign keys
'
SQLStmt = " select ac.constraint_name,ac.constraint_type,ac.table_name, "
SQLStmt = SQLStmt & " ac.r_owner,ac.r_constraint_name,acc.column_name,acc.position,ac1.table_name r_table_name,acc1.column_name r_column_name"
SQLStmt = SQLStmt & " from all_constraints ac,all_cons_columns acc, "
SQLStmt = SQLStmt & " all_constraints ac1,all_cons_columns acc1 "
SQLStmt = SQLStmt & " where ac.table_name='" & table_name & "' "
SQLStmt = SQLStmt & " and ac.owner='" & owner & "' "
SQLStmt = SQLStmt & " and ac.constraint_type='R' "
SQLStmt = SQLStmt & " and ac.table_name=acc.table_name "
SQLStmt = SQLStmt & " and ac.owner=acc.owner and ac.constraint_name=acc.constraint_name "
SQLStmt = SQLStmt & " and ac1.table_name=acc1.table_name and ac1.owner=acc1.owner "
SQLStmt = SQLStmt & " and ac1.constraint_name=acc1.constraint_name and ac.r_owner=ac1.owner "
SQLStmt = SQLStmt & " and ac.r_constraint_name=ac1.constraint_name and acc.position=acc1.position "
SQLStmt = SQLStmt & " order by ac.constraint_type,ac.constraint_name,acc.position "
' Response.Write(SQLStmt & "
")
Set RSf = Connection.Execute(SQLStmt)
'
' additional Indexes
'
SQLStmt = " SELECT dic.index_name,dic.column_name "
SQLStmt = SQLStmt & " FROM dba_ind_columns dic,dba_tab_columns dtc,all_constraints ac "
SQLStmt = SQLStmt & " WHERE dic.table_name=dtc.table_name "
SQLStmt = SQLStmt & " AND dic.column_name=dtc.column_name "
SQLStmt = SQLStmt & " AND dic.table_name='" & table_name & "' "
SQLStmt = SQLStmt & " AND dtc.owner='" & owner & "' "
SQLStmt = SQLStmt & " AND dic.index_name=ac.constraint_name(+) "
SQLStmt = SQLStmt & " AND ac.owner(+)='" & owner & "' "
SQLStmt = SQLStmt & " AND dic.table_name=ac.table_name(+) "
SQLStmt = SQLStmt & " and ac.constraint_name is null "
SQLStmt = SQLStmt & " ORDER BY index_name,column_position "
' Response.Write(SQLStmt & "
")
' Set RSi = Connection.Execute(SQLStmt)
rsiok=false
'
' Number of rows, this may be slow !
'
SQLStmt = " SELECT count(rowid) nrows from " & owner & "." & table_name
' Response.Write(SQLStmt & "
")
Set RSn = Connection.Execute(SQLStmt)
%>