Ecco come lo farei in Oracle:
dbc = create database connection("<YOUR connection="" string="" here="">");
sql = "SELECT a.username
FROM all_users a
ORDER BY a.USERNAME";
dt = execute sql(dbc, sql, invisible)
close database connection(dbc);
schema_list = dt:username << get values;
close(dt, nosave);
tbl_list = {};
nw = new window("Schema Browser",
panel box("Schemas",
schema_cb = combo box(schema_list,
one_schema = schema_cb << get selected;
sql = evalinsert(
"SELECT a.table_name
FROM all_tables a
WHERE a.owner = '^one_schema^'
ORDER BY 1");
dbc = create database connection("<YOUR connection="" string="" here="">");
dt = execute sql(dbc, sql, invisible)
close database connection(dbc);
tbl_list = dt:table_name << get values;
tbl_lb << set items(tbl_list);
close(dt, nosave);
),
),
panel box("Schema Tables",
tbl_lb = list box(tbl_list, width(300), nlines(20))
),
);</YOUR></YOUR>Ciao a tutti.
Sto per creare uno script che recupera le tabelle da un database ODBC. Sono riuscito a utilizzare il generatore di query per farlo, ma devo essere in grado di selezionare uno schema da un elenco a discesa, poiché non tutti gli utenti avranno accesso a tutti gli schemi. Qualcuno può aiutarmi con un esempio su come ottenere gli schemi disponibili come elenco o simili? Non è necessario che siano solo gli schemi a cui l'utente ha accesso, ma solo tutti gli schemi nel database. Come ulteriore problema, sarebbe bello se potessi ottenere un elenco di tabelle che hanno tutte una vista specifica.
Grazie in anticipo!
Br. Anders