sql >> Database >  >> RDS >> Oracle

Een geneste tabel opvragen

Ik begrijp de specifieke fout die u krijgt niet, maar over het algemeen moet u een expliciete cast naar het juiste type opnemen in de SQL-instructie:

open O_CURSOR for select * from table(CAST(dados AS t_pontos));

Dit komt omdat de instructie wordt overgedragen van PL/SQL naar de SQL-engine voor verwerking en er geen informatie is over het type variabele, behalve dat deze door de gebruiker is gedefinieerd.

Dit werkt ook alleen als het type (t_pontos ) wordt gedeclareerd op schemaniveau, d.w.z. met een CREATE TYPE uitspraak. Als het ergens in PL/SQL-code wordt gedeclareerd, b.v. in een pakketspecificatie heeft de SQL-engine geen toegang tot de typedefinitie.



  1. Buitenlandse sleutels en NULL in mySQL

  2. haal onbewerkte decimale waarde uit mysqldb-query

  3. Wat is het verschil tussen de backtick en de vierkante haak in SQL-statements?

  4. Verbindingstime-out instellen in SQLAlchemy