- Oracle l'essentiel
- Installation d'Oracle
- Les Scripts
Petite requête permettant de généré un script de création des tables pour le schéma (utilisateur).(Télécharger le script)
set heading off;
set termout off;
set echo off;
set VERIFY off;
set feedback off;
SET NEWPAGE none
set serveroutput on
spool C:\CreateTable.sql
select 'spool C:\CreateTable.log' from dual;
SELECT 'create table '
|| UPPER (table_name)
|| CHR (10)
|| '('
|| SUBSTR (SYS_CONNECT_BY_PATH ( column_name
|| CHR (9)
|| data_type
|| DECODE (data_type,
'DATE', ''|| DECODE (column_id,cnt, '',','),
'NUMBER', '(' || data_precision || ',' || data_scale || ')' || DECODE (column_id,cnt, '',','),
'(' || data_length || ')' || DECODE (nullable,'N', CHR (9) || 'NOT NULL')
|| DECODE (column_id,cnt, '',',')
), '
'
),0) || CHR (10)
|| ');'
FROM (SELECT table_name, column_name, data_type, data_length,
data_precision, data_scale, column_id, nullable,
COUNT (*) OVER (PARTITION BY table_name) cnt
FROM user_tab_columns)
WHERE column_id = cnt
START WITH column_id = 1
CONNECT BY PRIOR column_id + 1 = column_id AND PRIOR table_name = table_name;
select 'spool off' from dual;
spool off;
set VERIFY on;
set WRAP on;
set heading on;
set feedback on;
set termout on;
set echo on;
Autre possibilité pour récupérer les informations d'un schéma
Récupération du script pour les tables
select dbms_metadata.get_ddl('TABLE',table_name,owner) from dba_tables where owner='Nom du propriétaire du schema'
Récuperation du script pour les indexes
select dbms_metadata.get_ddl('INDEX',index_name,owner) from dba_indexes where owner=''Nom du propriétaire du schema''
Récuperation du script pour les triggers
select dbms_metadata.get_ddl('TRIGGER',trigger_name,owner) from dba_triggers where owner=''Nom du propriétaire du schema''
Récuperation du script pour les Vues
select dbms_metadata.get_ddl('VIEW',view_name,owner) from dba_views where owner=''Nom du propriétaire du schema''
Récuperation du script pour les séquences
select dbms_metadata.get_ddl('SEQUENCE',sequence_name,sequence_owner) from dba_sequences where sequence_owner=''Nom du propriétaire du schema''
Récuperation du script pour les liens entre base
select dbms_metadata.get_ddl('DB_LINK',db_link,owner) from dba_db_links where owner=''Nom du propriétaire du schema''
Récuperation du script pour les fonctions
select dbms_metadata.get_ddl('FUNCTION',object_name,owner) from dba_objects where owner=''Nom du propriétaire du schema''and object_type='FUNCTION'
Récuperation du script pour les procédures
select dbms_metadata.get_ddl('PROCEDURE',object_name,owner) from dba_objects where owner=''Nom du propriétaire du schema''and object_type='PROCEDURE'
Récuperation du script pour les Directory chemin oracle
select dbms_metadata.get_ddl('DIRECTORY',directory_name) from dba_directories
Récuperation du script pour les autorisations pour un utilisateur
select dbms_metadata.get_ddl('USER',''Nom du propriétaire du schema'') from dual
union all
select dbms_metadata.get_granted_ddl('SYSTEM_GRANT',''Nom du propriétaire du schema'') from dual
union all
select dbms_metadata.get_granted_ddl('OBJECT_GRANT',''Nom du propriétaire du schema'') from dual
union all
select dbms_metadata.get_granted_ddl('ROLE_GRANT',''Nom du propriétaire du schema'') from dual
Scripts Oracle de création des tables du shema