bon, j'ai une soluce, mais c pas un truc tout fait:
Prompt &User
Prompt &Table
select 'CREATE TABLE ' || table_name || ' (' from user_tables
where table_name = &Table;
select COLUMN_NAME , DATA_TYPE, DECODE(NULLABLE,'Y',' ','N','NOT NULL'
||
DECODE(rownum, (select count(*) from user_tab_column where table_name = '&Table' and OWNER = '&User'
,'
',', '
from all_tab_columns
where table_name = '&Table'
and OWNER = '&User'
order by rownum;
le dernier ordre select fonctionne pas: manifestement, on peut pas mettre de select dans la clause select.... ce qui pose un bleme pour la derniere virgule
soluce:
select COLUMN_NAME , DATA_TYPE, DECODE(NULLABLE,'Y',' ','N','NOT NULL'
|| ','
from all_tab_columns
where table_name = '&Table'
and OWNER = '&User'
order by rownum;
ca pue, car il fo retirer la derniere virgule a la main et la remplacer par une parenthese.... y'a moyen de faire ca avec une jointure de la table ( x2) mais bon, ca serait super lourd.
sinon, quand on veut pas se casser le cul, comme disait wouatouwouatou plus haut:
create table essai1 as select * from essai2;
et basta !
oublie pas le insert into ...
si ton prof a une bonne solution, envoie moi ca en pv stp, ca m'interesse!
[edtdd]--Message édité par stefes007--[/edtdd]
---------------
Tef : "Je dors à poil" <-> That's me, poil-bonhomme ! Sp*m killer