Using the following script, I want to populate table TEST with 4 columns

insert into test
values (select name, sysdate from v$database),
(SELECT A.TABLESPACE_NAME,
ROUND(((NVL(B.BYTES,0) * 100) / A.BYTES), 1)
FROM (select tablespace_name, sum(bytes) bytes
from dba_data_files
group by tablespace_name) A,
(select tablespace_name,
sum(bytes) bytes
from dba_extents
group by tablespace_name) B
WHERE A.TABLESPACE_NAME = B.TABLESPACE_NAME (+)
order BY 1))

which does not work: help please!
Fiona