Cześć,
Pisze cursor w Oracle (w MS SQL Server nie miałbym problemu) i nie potrafię przejść problemu - może nie do końca optymalny ale pracuję nad tym. Kod cursora:
DECLARE
sqlq VARCHAR2(2000);
CURSOR pierwszy_kursor is
select username as schema_name from sys.all_users WHERE username LIKE 'aaa%' order by username;
nazwa VARCHAR2(20);
BEGIN
OPEN pierwszy_kursor;
loop
FETCH pierwszy_kursor INTO nazwa;
--Dbms_Output.put_line(nazwa);
sqlq:='SELECT Count(*) FROM '||nazwa||'.tabelax1;';
--Dbms_Output.put_line(sqlq);
EXECUTE IMMEDIATE sqlq;
exit when pierwszy_kursor%notfound;
END LOOP;
CLOSE pierwszy_kursor;
END;
Krótki opis co chcę uzyskać:
Mam około 120 schematów w bazie danych zaczynających się na aaa i w każdym z tych schematów jest tabelax1. Wyciągam nazwy schematów ale nie mogę się odwołać do tych tabel. Oba Dbms_Output.put_line
zwarcają to co potrzebuję tylko EXECUTE IMMEDIATE
zwraca błąd:
ORA-00911: invalid character
ORA-06512: at line 13
Czy mogę prosić o pomoc w rozwiązaniu problemu?
Z góry dziękuje i pozdrawiam,
Wooki24