Invantive SQL maakt het mogelijk om externe gegevens te verwerken uit bestanden, databasevelden en Internet URL’s, zoals:
-
xmltable
: XML data omzetten in een relationele tabel; -
exceltable
: Excel spreadsheet omzetten naar een tabel (voorbeeld); -
htmltable
: HTML-documenten omzetten naar een tabel; -
jsontable
: JSON-documenten omzetten; -
ndjsontable
: NDJSON-documenten omzetten naar een tabel; -
csvtable
: CSV-documenten omzetten naar een tabel.
In de kolomdefinities was het voorheen mogelijk om het datatype (zoals varchar2
) op te geven. Voortaan is het ook mogelijk om de nullability in te stellen en het label, zoals bijvoorbeeld met:
select *
from ndjsontable
( passing file 'c:\voorbeeld.ndjson'
ignore invalid line
columns id int64 not null label 'ID' path 'Id'
, thread_id int32 not null label 'Thread ID' path 'ThreadId'
, session_id varchar2 not null label 'Session ID' path 'SessionId'
, pool_identity_id varchar2 null label 'Pool Identity' path 'PoolIdentityId'
, message_code varchar2 null label 'Message Code' path 'MessageCode'
, occurred datetime not null label 'Occurred (UTC)' path 'Occurred'
, message_text varchar2 null label 'Message' path 'Message'
, calling_provider_alias varchar2 null label 'Alias' path 'CallingProviderAlias'
)
msg
Indien data niet voldoet aan de not null
constraint zal een foutmelding worden getoond.
De tekst achter label
zal gebruikt worden als kolomkop voor de data in bijvoorbeeld het Invantive Query Tool. Bij het label
kan ook gebruik gemaakt worden van vertaalbare resources zoals {res:itgen_code}
.
Create Table
De nieuwe mogelijkheden voor het opgeven van nullability en het label zijn ook beschikbaar bij het aanmaken van een tabel zoals:
create table sample@inmemorystorage
( a_number number not null label 'The Number'
)
insert into SAMPLE@InMemoryStorage
( a_number
)
values
( 1
)
select *
from SAMPLE@InMemoryStorage
met als resultaat:
Cast
De nieuwe mogelijkheden voor het opgeven van nullability en het label zijn ook beschikbaar bij de SQL-functie cast
zoals:
create or replace table x@inmemorystorage
as
select cast(dal.dummy_string as varchar2 not null label 'A string') c
from dual@datadictionary dal
Nullability van Constanten
Bij de evaluatie van constanten is de bepaling van de nullability ook verbeterd. Een constante die geen NULL is, zal voortaan als een verplichte waarde beschouwd worden, zoals in:
create or replace table sample@inmemorystorage
as
select 'x' val
Beschikbaarheid
Met ingang van release 20.2.72 is het mogelijk om meer eigenschappen van velden vast te leggen.