Así es como lo haría en 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>Hola a todos.
Estoy a punto de hacer un script, que recupera tablas de una base de datos ODBC. Logré usar el generador de consultas para hacer esto, pero necesito poder seleccionar un esquema de una lista desplegable, ya que no todos los usuarios tendrán acceso a todos los esquemas. ¿Alguien puede ayudarme con un ejemplo sobre cómo obtener los esquemas disponibles como una lista o similar? No necesita ser exclusivamente los esquemas a los que el usuario tiene acceso, sino solo todos los esquemas de la base de datos. Como un problema adicional, sería genial si pudiera obtener una lista de tablas que tengan una vista específica.
¡Gracias por adelantado!
Br. Anders