blob: b98b85d6d7bbfc7b42253745b8c3fcd980c6a210 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
|
#{ COLBYNAME -- Find the column number (1-indexed) containing the specified
# value of the NAME attribute.
procedure colbyname (table, name)
string table { prompt = "Table name" }
string name { prompt = "NAME attribute" }
int column = 0 { prompt = "Found column number (or -1)"}
string ucd = "" { prompt = "Found column name" }
string id = "" { prompt = "Found column ID" }
bool print = no { prompt = "Print the field number?" }
bool found = no { prompt = "Was attribute found??" }
begin
string ltab, lname
int nfound
ltab = table # get parameters
lname = name
column = -1
nfound = 0
tinfo (ltab, ttout-) # get table info
for (i=1; i <= tinfo.ncols; i=i+1) {
keypar (ltab, "TTYPE" // i, >& "dev$null")
found = keypar.found
if (keypar.found == yes && keypar.value == lname) {
if (nfound == 0) {
column = i
keypar (ltab, "TUCD" // i, >& "dev$null")
ucd = ""
if (keypar.found == yes)
ucd = keypar.value
keypar (ltab, "TID" // i, >& "dev$null")
id = ""
if (keypar.found == yes)
id = keypar.value
}
}
}
if (nfound > 1)
printf ("Warning: %d columns found with NAME='%s'\n", nfound, name)
if (print)
print (column)
end
|