diff --git a/INSTALL.md b/INSTALL.md index bdf789addc5217e2f464f8e0db43d7f8607d0a17..c7b86a08f8afb63fb4850ec62733feeaa538bec5 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -1,302 +1,3 @@ # Installation de SyGAL - - -## Création de la base de données - -Reportez-vous au [README consacré à la création de la base de données](database/README.md). - - - -## Installation - -Pour ce qui est de l'installation du serveur d'application, n'ayant pas à Caen les compétences -en déploiement Docker autres que pour le développement (d'où la présence d'un `Dockerfile` et d'un `docker-compose.yml` -dans les sources), nous documenterons une installation à l'ancienne sur un serveur *entièrement dédié à l'application*. -Si vous voulez déployer l'application avec Docker, faites-le à partir du `Dockerfile` présent et n'hésitez pas à -proposer votre contribution pour améliorer cette doc d'install ! - -### Première obtention des sources de l'application - -*NB: la procédure proposée ici part d'un serveur *Debian Stretch* tout nu et couvre l'installation de tous les packages -requis.* Si ce n'était pas le cas, merci de contribuer en le signalant. - -En `root` sur votre serveur, pour obtenir les sources de SyGAL, lancez l'une des commandes suivantes en fonction -du site sur lequel vous lisez la présente page : -```bash -# Si vous êtes sur git.unicaen.fr : -git clone https://git.unicaen.fr/open-source/sygal.git /app - -# Si vous êtes sur github.com : -git clone https://github.com/EsupPortail/sygal.git /app -``` - -*NB: merci de respecter dans un premier temps le choix de `/app` comme répertoire d'installation. -Libre à vous une fois que tout fonctionne de changer d'emplacement et de modifier en conséquence les configs -nécessaires.* - -### Configuration du serveur - -Sur le serveur, placez-vous dans le répertoire des sources de SyGAL et jetez un oeil au script `Dockerfile.sh`. -Ce script est en quelque sorte l'équivalent du `Dockerfile` traduit en bash. -(Vous y verrez que le dépôt git d'une image Docker Unicaen est cloné pour lancer -son script `Dockerfile.sh` qui est lui aussi l'équivalent du `Dockerfile` de l'image -traduit en bash.) - -Lancez le script `Dockerfile.sh` ainsi : -```bash -cd /app -bash Dockerfile.sh 7.0 -``` - -Ensuite, vérifiez et ajustez si besoin sur votre serveur les fichiers de configs suivants, -créés par le script `Dockerfile.sh` : -- ${APACHE_CONF_DIR}/ports.conf -- ${APACHE_CONF_DIR}/sites-available/app.conf -- ${APACHE_CONF_DIR}/sites-available/app-ssl.conf -- ${PHP_CONF_DIR}/fpm/pool.d/app.conf -- ${PHP_CONF_DIR}/fpm/conf.d/90-app.ini - -NB: Vérifiez dans le script `Dockerfile.sh` que vous venez de lancer mais normalement -`APACHE_CONF_DIR=/etc/apache2` et `PHP_CONF_DIR=/etc/php/7.0`. - -### Installation d'une version précise de l'application - -Normalement, vous ne devez installer que les versions officielles, c'est à dire les versions taguées, du genre `1.4.2` -par exemple. - -Placez-vous dans le répertoire des sources de l'application puis lancez les commandes suivantes pour obtenir la liste des -versions officielles (taguées) : -```bash -git fetch && git fetch --tags && git tag -``` - -Si la version la plus récente est par exemple la `1.4.2`, utilisez les commandes suivantes pour "installer" cette version -sur votre serveur : -```bash -git checkout --force 1.4.2 && bash install.sh -``` - -### Configuration du moteur PHP pour SyGAL - -Si vous êtes sur un serveur de PROD, corrigez les lignes suivantes du fichier de config PHP -`/etc/php/7.0/fpm/conf.d/90-app.ini` : - - display_errors = Off - ... - opcache.enable = 1 - ... - xdebug.remote_enable = 0 - -### Fichiers de config de l'application - -Placez-vous dans le répertoire de l'application puis descendez dans le répertoire `config/autoload/`. - -Supprimez l'extension `.dist` des fichiers `local.php.dist` et `secret.local.php.dist`, ex : -```bash -cp -n local.php.dist local.php -cp -n secret.local.php.dist secret.local.php -``` - -Dans la suite, vous adapterez le contenu de ces fichiers à votre situation. - -#### `unicaen-app.global.php` - -- Adaptez les URL des pages "Mentions légales" et "Informatique et liberté" pour votre établissement : - -```php - 'unicaen-app' => [ - 'app_infos' => [ - //... - 'mentionsLegales' => "http://www.unicaen.fr/acces-direct/mentions-legales/", - 'informatiqueEtLibertes' => "http://www.unicaen.fr/acces-direct/informatique-et-libertes/", -``` - -#### `local.php` - -- Adaptez le `'label'`, `'title'` et `'uri'` du lien mentionnant votre établissement dans le pied de page de - l'application : - -```php - 'navigation' => [ - 'default' => [ - 'home' => [ - 'pages' => [ - 'etab' => [ - 'label' => _("Normandie Université"), - 'title' => _("Page d'accueil du site de Normandie Université"), - 'uri' => 'http://www.normandie-univ.fr', - 'class' => 'logo-etablissement', - // NB: Spécifier la classe 'logo-etablissement' sur une page de navigation provoque le "remplacement" - // du label du lien par l'image 'public/logo-etablissement.png' (à créer le cas échéant). -``` -*NB: ensuite créez le fichier `public/logo-etablissement.png` correspondant au logo de votre établissement.* - -- Adaptez le chemin du répertoire où seront stockés les fichiers uploadés par les utilisateurs de l'application : - -```php - 'fichier' => [ - 'root_dir_path' => '/app/upload', - ], -``` -*NB: ce répertoire doit être autorisé en écriture à l'utilisateur `www-data` (ou équivalent).* - -#### `secret.local.php` - -- Dans la config de connexion au WS suivante, `UCN` doit être remplacé par le code établissement choisi lors -de la création de votre établissement dans la base de données (dans le script `05-init.sql`) : - -```php - 'import-api' => [ - 'etablissements' => [ - // code établissement => [config] - 'UCN' => [ - 'url' => 'https://sygal-import-ws:443', - 'proxy' => false, - 'verify' => false, // si true et faux certif : cURL error 60: SSL certificate problem: self signed certificate - 'user' => 'xxx', - 'password' => 'yyy', -``` - -- Renseignez les infos de connexion à la base de données : - -```php - 'doctrine' => [ - 'connection' => [ - 'orm_default' => [ - 'params' => [ - 'host' => 'host.domain.fr', - 'dbname' => 'DBNAME', - 'port' => '1523', - 'user' => $user = 'sygal', - 'password' => 'xxxxxxxxxxx', - 'charset' => 'AL32UTF8', - 'CURRENT_SCHEMA' => $user, -``` - -- La config fournie permet de simuler l'authentification Shibboleth de l'utilisateur 'premierf@univ.fr' -créé en base de données (dans le script `06-test.sql`) avec le rôle "Administrateur technique". -Cela permet d'accéder aux pages de gestion des droits d'accès. - -```php - 'unicaen-auth' => [ - 'shibboleth' => [ - 'simulate' => [ - 'HTTP_EPPN' => $eppn = 'premierf@univ.fr', - 'HTTP_SUPANNEMPID' => '00012345', - 'HTTP_DISPLAYNAME' => $eppn, - 'HTTP_MAIL' => $eppn, - 'HTTP_GIVENNAME' => 'François', - 'HTTP_SN' => 'Premier', - 'HTTP_SUPANNCIVILITE' => 'M.' -``` - -- Théoriquement, à ce stade l'application SyGAL devrait être accessible. - - -## Dans l'application SyGAL elle-même - -Si vous n'avez rien changé à la config de l'application concernant Shibboleth et si vous cliquez en haut à droite de -la page d'accueil de SyGAL sur "Connexion" puis sur "Fédération d'identité", vous devriez être dans la peau de -François Premier, administrateur technique de test créé en base de données (dans le script `05-init.sql`). - -### Droits d'accès - -Dans l'application SyGAL, allez dans menu "Droits d'accès" > "Gestion des profils de rôle". - -Appliquez, svp : -- le profil `ADMIN_TECH` au rôle *Administrateur technique* -- le profil `OBSERV` au rôle *Observateur* -- le profil `DOCTORANT` au rôle *Doctorant UCN* -- le profil `ADMIN` au rôle *Administrateur UCN* -- le profil `BU` au rôle *Bibliothèque universitaire UCN* -- le profil `BDD` au rôle *Bureau des doctorats UCN* - -Par exemple, pour appliquer le profil `ADMIN_TECH` au rôle *Administrateur technique*, il faut : -- cliquer sur l'icône bleu en forme de maillon de chaîne tout au bout de la ligne "ADMIN_TECH" du tableau "Liste des profils" ; -- dans la page qui s'ouvre, sélectionner "Administrateur technique" dans la liste déroulante de droite ; -- appuyer sur le bouton "Ajouter un rôle". - -NB: "UCN" n'est qu'un exemple et pour vous ce sera le code établissement choisi lors -de la création de votre établissement dans la base de données (dans le script `05-init.sql`) - -### Import - -Allez dans menu "Import" pour contrôler que l'application parvient à contacter votre web service. -La version de l'API devrait s'afficher, ex: 1.2.4. - -Ne tenez pas compte du menu "Lancement" car il n'est pas possible de lancer l'import des données -depuis l'interface graphique. - - - -## En ligne de commande - -### Import de données - -Placez-vous dans le répertoire de SyGAL sur le serveur. - -Ce qui suit n'est possible que si le web service d'import de données est installé, si ce n'est pas le cas, -reportez-vous au projet `sygal-import-ws` [sur github.com/EsupPortail](https://github.com/EsupPortail/sygal-import-ws) -ou [sur git.unicaen.fr](https://git.unicaen.fr/open-source/sygal-import-ws). - -#### Lancement de l'import - -Il s'agit de l'interrogation du web service pour remplir les tables temporaires TMP_*. - - php public/index.php import-all --etablissement=UCN --synchronize=0 --breakOnServiceNotFound=0 - -*NB: `UCN` doit être remplacé par le code établissement choisi lors -de la création de votre établissement dans la base de données (dans le script `05-init.sql`).* - -#### Lancement de la synchro - -Il s'agit de la synchronisation des tables définitives de travail de l'application avec les tables TMP_* -contenant les données déjà importées. - - php public/index.php synchronize-all - -Pour plus de détails, vous pouvez vous reporter à la documentation sur les [lignes de commandes](cli.md). - -Une fois la synchro effectuée, vous devriez voir des thèses apparaître en cliquant sur le menu "Thèses" de -l'application. - -#### Lancement des 2 - -Pour lancer l'interrogation du web service *puis* la synchronisation des tables définitives de travail, faites : - - php public/index.php import-all --etablissement=UCN --synchronize=1 --breakOnServiceNotFound=0 - -*NB: `UCN` doit être remplacé par le code établissement choisi lors -de la création de votre établissement dans la base de données (dans le script `05-init.sql`).* - - -### Programmation des tâches périodiques - -Un certains nombres de tâches périodiques doivent être programmées sur le serveur. -Pour cela, créez le fichier `/etc/cron.d/sygal` et adaptez le contenu suivant à votre contexte : - -```cron -MAILTO=nom.prenom@domaine.fr - -# -# Application SyGAL. -# - -APP_DIR=/app - -##### Traitements en fonction des résultats de l'import ##### -0 5-17 * * 1-5 root /usr/bin/php $APP_DIR/public/index.php process-observed-import-results --etablissement=UCN 1> /tmp/sygal-process-observed-import-results.log 2>&1 -# (du lundi au vendredi, chaque heure de 5h à 17h) - -##### Import des données des établissements ##### -*/20 * * * * root /usr/bin/php $APP_DIR/public/index.php import-all --etablissement=UCN --synchronize=1 --breakOnServiceNotFound=0 1> /tmp/cron-sygal-import.log 2>&1 -## (toutes les 20 minutes) - -##### Ménage dans /tmp ##### -0 4 * * * root bash $APP_DIR/bin/purge_temp_files.sh 1> /tmp/sygal_purge_temp_files.sh.log 2>&1 -## (tous les jours à 4h du mat') -``` - -*NB: `UCN` doit être remplacé par le code établissement choisi lors -de la création de votre établissement dans la base de données (dans le script `05-init.sql`).* +La doc a déménagé [ici](https://git.unicaen.fr/open-source/sygal/-/blob/master/doc/INSTALL.md). diff --git a/README.md b/README.md index de7df89e02b3e0e84f56031a78aba3f5b8da4e91..4e543ed86d18d0e93b4ed116281591cafe0ff265 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ Documentation SyGAL =================== -- [Installation](INSTALL.md) -- [Ligne de commande](cli.md) -- [Base de données](database/README.md) +Ce dépôt est abandonné. + +Maintenant, ça se passe [ici...](https://git.unicaen.fr/open-source/sygal/-/blob/master/doc) \ No newline at end of file diff --git a/bin/README.md b/bin/README.md deleted file mode 100644 index 6d501bde9136943a8124b7337c91fb3ea88960cc..0000000000000000000000000000000000000000 --- a/bin/README.md +++ /dev/null @@ -1,28 +0,0 @@ -# bin - -## [generate-database-scripts.sh](generate-database-scripts.sh) - -Ce script doit être utilisé pour générer une partie des scripts SQL nécessaires à l'installation de -la base de données de SyGAL *de zéro*. - -Les scripts générés dans le répertoire temporaire `/tmp/sygal-doc/database` sont les suivants : -- `00-oracle-clear-schema-SYGAL.sql` -- `00-oracle-generate-schema-SYGAL.sql` -- `02-inserts/oracle-data-insert-from-SYGAL.*-into-SYGAL.sql` -- `03-oracle-generate-ref-constraints-SYGAL.sql` - -Les autres scripts sont gérés à la main : -- [`00-crea-users.sql`](../database/00-crea-users.sql) -- [`01-bootstrap.sql`](../database/01-bootstrap.sql) -- [`04-crea-comue.sql`](../database/04-crea-comue.sql) -- [`05-init.sql`](../database/05-init.sql) -- [`06-test.sql`](../database/06-test.sql) - -Usage : -```bash -# génération des scripts -./generate-database-scripts.sh - -# récupération du résultat -cp -r /tmp/sygal-doc/database/* database/ -``` diff --git a/bin/docker/gen-db-scripts.sh b/bin/docker/gen-db-scripts.sh deleted file mode 100755 index 7ed2f0529638f58eb7c7006c39fb59b03ccf08ec..0000000000000000000000000000000000000000 --- a/bin/docker/gen-db-scripts.sh +++ /dev/null @@ -1,75 +0,0 @@ -#!/usr/bin/env bash - -# -# Script de génération d'une partie des scripts SQL permettant de créer de zéro la base de données de SyGAL. -# -# Arguments : -# $1 : Nom du schéma de base de données. Ex: "SYGAL". Obligatoire. -# -# NB: Attention, cet argument n'a pas la vocation de "sélectionner" le schéma de base de données à utiliser, -# il est simplement exploité pour les noms de fichiers SQL générés. -# Le schéma de base de données utilisé est celui spécifié dans la config Doctrine de l'appli -# (cf. fichier `config/autoload/*.secret.local.php` de l'appli). -# -# Exemple d'usage : -# bash gen-db-scripts.sh "SYGAL" -# - -[[ -z "$1" ]] && echo "Le nom du schéma de base de données doit être spécifié, ex: SYGAL." && exit 1 - -SCHEMA=$1 - -# fonction mettant en commentaire certains options de création de séquence dans le(s) fichier(s) spécifié(s) -commentSeqOptionsInFile() { - for f in $1; do - sed -i 's/\(START WITH [0-9]\+\)/\/*\1*\//ig; s/\(CACHE [0-9]\+\)/\/*\1*\//ig' ${f} - done -} -# fonction remplaçant 'SYGAL.' par '/*SYGAL.*/' et '"SYGAL".' par '/*"SYGAL".*/' dans le(s) fichier(s) spécifié(s) -commentPrefixInFile() { - for f in $1; do - sed -i "s/\(${SCHEMA}\.\)/\/*\1*\//ig" ${f} - sed -i "s/\(\"${SCHEMA}\"\.\)/\/*\1*\//ig" ${f} - done -} -# fonction remplaçant par exemple "/*HISTO::*/1234" par "$2/*SUBSTIT*/" dans le(s) fichier(s) spécifié(s) en $1 -replaceHistoIdInFile() { - for f in $1; do - sed -i "s/\/\*HISTO::\*\/[0-9]\+/$2\/\*SUBSTIT\*\//ig" ${f} - done -} - -FROM_FILE_PATH_CLEAR="/tmp/oracle-clear-schema-${SCHEMA}.sql" -FROM_FILE_PATH_SCHEMA="/tmp/oracle-generate-schema-${SCHEMA}-from-${SCHEMA}.sql" -FROM_FILE_PATH_INSERTS="/tmp/inserts" -FROM_FILE_PATH_REF="/tmp/oracle-generate-ref-constraints-${SCHEMA}-from-${SCHEMA}.sql" - -TABLES="CATEGORIE_PRIVILEGE,DOMAINE_SCIENTIFIQUE,IMPORT_OBSERV,INFORMATION,NATURE_FICHIER,PRIVILEGE,PROFIL,PROFIL_PRIVILEGE,TYPE_STRUCTURE,TYPE_VALIDATION,VERSION_FICHIER,WF_ETAPE" -HISTO_ID_SUBSTIT=1 # valeur forcée pour les colonnes d'historique - -rm -rf ${FROM_FILE_PATH_INSERTS} && mkdir -p ${FROM_FILE_PATH_INSERTS} - -php public/index.php generate-script-for-schema-clearing \ - --connection=doctrine.connection.orm_default && \ -\ -php public/index.php generate-script-for-schema-creation \ - --src-connection=doctrine.connection.orm_default \ - --dst-connection=doctrine.connection.orm_default \ - --ref-constraints-included=0 && \ -\ -php public/index.php generate-scripts-for-data-inserts \ - --src-connection=doctrine.connection.orm_default \ - --dst-connection=doctrine.connection.orm_default \ - --tables=${TABLES} \ - --output-dir=${FROM_FILE_PATH_INSERTS} && \ -\ -php public/index.php generate-script-for-ref-constraints-creation \ - --src-connection=doctrine.connection.orm_default \ - --dst-connection=doctrine.connection.orm_default && \ -\ -commentPrefixInFile ${FROM_FILE_PATH_CLEAR} && \ -commentPrefixInFile ${FROM_FILE_PATH_SCHEMA} && \ -commentSeqOptionsInFile ${FROM_FILE_PATH_SCHEMA} && \ -commentPrefixInFile "${FROM_FILE_PATH_INSERTS}/*" && \ -replaceHistoIdInFile "${FROM_FILE_PATH_INSERTS}/*" ${HISTO_ID_SUBSTIT} && \ -commentPrefixInFile ${FROM_FILE_PATH_REF} diff --git a/bin/generate-database-scripts.sh b/bin/generate-database-scripts.sh deleted file mode 100755 index 0d751202c1f690f22d68a8d674f17a986fcd9036..0000000000000000000000000000000000000000 --- a/bin/generate-database-scripts.sh +++ /dev/null @@ -1,51 +0,0 @@ -#!/usr/bin/env bash - -# -# Script de génération d'une partie des scripts SQL permettant de créer de zéro la base de données de SyGAL. -# -# Arguments : -# Aucun. -# -# Exemple d'usage : -# bash generate-database-scripts.sh -# - -echo " -#################################################################################################### -# -# Génération d'une partie des scripts SQL permettant de créer de zéro la base de données de SyGAL -# -####################################################################################################" - -THIS_DIR=$(cd `dirname $0` && pwd) -SCHEMA="SYGAL" - -# répertoire de destination des résultats -OUTPUT_DIR=/tmp/sygal-doc/database -[[ -d ${OUTPUT_DIR} ]] && echo "Le répertoire de destination existe déjà : ${OUTPUT_DIR}" && exit 1 -mkdir -p ${OUTPUT_DIR} - -# copie et lancement du script dans le container docker -docker cp ${THIS_DIR}/docker/gen-db-scripts.sh sygal-container:/app && \ -docker exec -it -w /app sygal-container bash gen-db-scripts.sh ${SCHEMA} && \ -docker exec -it -w /app sygal-container rm gen-db-scripts.sh - -FROM_FILE_PATH_CLEAR="/tmp/oracle-clear-schema-${SCHEMA}.sql" -FROM_FILE_PATH_SCHEMA="/tmp/oracle-generate-schema-${SCHEMA}-from-${SCHEMA}.sql" -FROM_FILE_PATH_INSERTS="/tmp/inserts" -FROM_FILE_PATH_REF="/tmp/oracle-generate-ref-constraints-${SCHEMA}-from-${SCHEMA}.sql" - -TO_FILE_PATH_CLEAR="${OUTPUT_DIR}/00-oracle-clear-schema-${SCHEMA}.sql" -TO_FILE_PATH_SCHEMA="${OUTPUT_DIR}/00-oracle-generate-schema-${SCHEMA}.sql" -TO_FILE_PATH_INSERTS="${OUTPUT_DIR}/02-inserts" -TO_FILE_PATH_REF="${OUTPUT_DIR}/03-oracle-generate-ref-constraints-${SCHEMA}.sql" - -# récupération des scripts SQL générés -docker cp sygal-container:${FROM_FILE_PATH_CLEAR} ${TO_FILE_PATH_CLEAR} && \ -docker cp sygal-container:${FROM_FILE_PATH_SCHEMA} ${TO_FILE_PATH_SCHEMA} && \ -docker cp sygal-container:${FROM_FILE_PATH_INSERTS}/. ${TO_FILE_PATH_INSERTS} && \ -docker cp sygal-container:${FROM_FILE_PATH_REF} ${TO_FILE_PATH_REF} - -echo -echo "> Terminé." -echo "> Résultat dans ${OUTPUT_DIR}." diff --git a/cli.md b/cli.md deleted file mode 100644 index 077df0de4f418831d1ef972ebf8f5595e36b06b8..0000000000000000000000000000000000000000 --- a/cli.md +++ /dev/null @@ -1,93 +0,0 @@ -# Ligne de commande de SyGAL - -Pour afficher l'aide de toutes les commandes fournies par l'application, se placer à la racine du projet -et faire : - - $ php public/index.php - - -## Import - -En fait, on peut désigner par "import" l'enchainement des actions suivantes : -- "importer" les données d'un établissement, càd : - - interroger le WS d'un établissement (projet "sygal-import-ws") ; - - enregistrer les données reçues dans des tables temporaires `TMP_*` ; -- "synchroniser" les tables définitives à partir des tables temporaires (module "unicaen/import"). - - -### Les services disponibles - -Les données importées sont fractionnées en domaines ou "services", qui reflètent en réalité chacun une table dans -la base de données de l'application. - -Voici les codes des services existants : -- structure -- ecole-doctorale -- unite-recherche -- etablissement -- individu -- doctorant -- these -- role -- acteur -- variable -- financement -- titre-acces - -Lorsqu'on importe les écoles doctorales, on référence le service dont le code est `ecole-doctorale`. -C'est ce code du service qui devra être spécifié via l'argument `--etablissement` des commandes présentées ici. - - -### Commandes d'import - -L'import se fait pour *un seul établissement à la fois*. Les établissements dont on veut importer les données -doivent être déclarés dans la config PHP de l'appli : cf. [local.php.dist](../config/autoload/local.php.dist) - -C'est le "code établissement" choisi dans la config qui devra être spécifié via l'argument `--etablissement` -des commandes présentées ici. - -#### `import` - -On parle ici de lancer l'import d'un service précis. - -Par exemple, pour lancer l'import des variables de l'UCN, mais sans lancer la synchro des tables définitives : - - $ php public/index.php import --service=variable --etablissement=UCN --synchronize=0 - -Pour lancer en plus la synchro après l'interrogation du WS, mettre `--synchronize=1`. - -#### `import-all` - -Cette commande lance l'import de tous les services. - -Par exemple, pour lancer l'import complet des données de l'UCN, sans lancer la synchro des tables définitives : - - $ php public/index.php import-all --etablissement=UCN --synchronize=0 - -Pour que la synchro se fasse après l'interrogation du WS, mettre `--synchronize=1`. - - -### Commandes de synchro - -On parle ici de synchroniser les données des tables définitives de l'application avec celles des tables -temporaires `TMP_*`. - -Même s'il s'agit de tables, on raisonne tout de même en service. Par exemple, la synchronisation de la table des -unités de recherches (`UNITE_RECH`) se fait en spécifiant le code de service `unite-recherche`. - -Dans ces commandes, il n'est pas possible de spécifier un établissement précis. - -#### `synchronize` - -Cette commande lance la synchro d'une table définitive `TABLE` à partir de la table temporaire `TMP_TABLE` -correspondante. - -Par exemple, pour lancer la synchro des variables : - - $ php public/index.php synchronize --service=variable - -#### `synchronize-all` - -Cette commande lance la synchro de toutes les tables définitives : - - $ php public/index.php synchronize-all diff --git a/database/00-crea-users.sql b/database/00-crea-users.sql deleted file mode 100644 index fda0b53bba74e5e3773d50d9fa677079667d5b50..0000000000000000000000000000000000000000 --- a/database/00-crea-users.sql +++ /dev/null @@ -1,47 +0,0 @@ --- --- Tablespace, user, etc. --- --- --- ATTENTION, ce sript doit être personnalisé pour votre contexte : --- --- Taille du tablespace (cf. `SIZE`). --- Mot de passe du user "SYGAL" (cf `IDENTIFIED BY`). --- - - - --- --- Tablespace --- -CREATE TABLESPACE SYGAL_TS DATAFILE 'SYGAL_TS' SIZE 8000000000; - --- --- User --- -CREATE USER "SYGAL" IDENTIFIED BY "azerty" DEFAULT TABLESPACE "SYGAL_TS" TEMPORARY TABLESPACE "TEMP"; - --- --- Grants --- -GRANT "CONNECT" TO "SYGAL"; -GRANT "RESOURCE" TO "SYGAL"; -GRANT "SELECT_CATALOG_ROLE" TO "SYGAL"; -GRANT CREATE JOB TO "SYGAL"; -GRANT FLASHBACK ANY TABLE TO "SYGAL"; -GRANT DEBUG ANY PROCEDURE TO "SYGAL"; -GRANT DEBUG CONNECT SESSION TO "SYGAL"; -GRANT SELECT ANY DICTIONARY TO "SYGAL"; -GRANT ON COMMIT REFRESH TO "SYGAL"; -GRANT CREATE MATERIALIZED VIEW TO "SYGAL"; -GRANT CREATE DATABASE LINK TO "SYGAL"; -GRANT CREATE VIEW TO "SYGAL"; -GRANT DROP PUBLIC SYNONYM TO "SYGAL"; -GRANT CREATE PUBLIC SYNONYM TO "SYGAL"; -GRANT UNLIMITED TABLESPACE TO "SYGAL"; -GRANT ALTER SESSION TO "SYGAL"; -GRANT SELECT ON "SYS"."DBA_ROLE_PRIVS" TO "SYGAL"; -GRANT SELECT ON "SYS"."DBA_TAB_PRIVS" TO "SYGAL"; -GRANT SELECT ON "SYS"."DBA_ROLES" TO "SYGAL"; -GRANT FLASHBACK ON "SYS"."ALL_SOURCE" TO "SYGAL"; -GRANT EXECUTE ON "SYS"."DBMS_LOCK" TO "SYGAL"; -GRANT EXECUTE ON "SYS"."DBMS_ALERT" TO "SYGAL"; diff --git a/database/00-oracle-clear-schema-SYGAL.sql b/database/00-oracle-clear-schema-SYGAL.sql deleted file mode 100644 index 10717b4d51477c6d007a94a3e349be94099d3017..0000000000000000000000000000000000000000 --- a/database/00-oracle-clear-schema-SYGAL.sql +++ /dev/null @@ -1,402 +0,0 @@ -DROP TRIGGER /*SYGAL.*/INDIVIDU_RECH_UPDATE; -DROP VIEW /*SYGAL.*/SRC_ACTEUR; -DROP VIEW /*SYGAL.*/SRC_DOCTORANT; -DROP VIEW /*SYGAL.*/SRC_ECOLE_DOCT; -DROP VIEW /*SYGAL.*/SRC_ETABLISSEMENT; -DROP VIEW /*SYGAL.*/SRC_FINANCEMENT; -DROP VIEW /*SYGAL.*/SRC_INDIVIDU; -DROP VIEW /*SYGAL.*/SRC_ROLE; -DROP VIEW /*SYGAL.*/SRC_STRUCTURE; -DROP VIEW /*SYGAL.*/SRC_THESE; -DROP VIEW /*SYGAL.*/SRC_THESE_ANNEE_UNIV; -DROP VIEW /*SYGAL.*/SRC_TITRE_ACCES; -DROP VIEW /*SYGAL.*/SRC_UNITE_RECH; -DROP VIEW /*SYGAL.*/SRC_VARIABLE; -DROP VIEW /*SYGAL.*/V_DIFF_ACTEUR; -DROP VIEW /*SYGAL.*/V_DIFF_DOCTORANT; -DROP VIEW /*SYGAL.*/V_DIFF_ECOLE_DOCT; -DROP VIEW /*SYGAL.*/V_DIFF_ETABLISSEMENT; -DROP VIEW /*SYGAL.*/V_DIFF_FINANCEMENT; -DROP VIEW /*SYGAL.*/V_DIFF_INDIVIDU; -DROP VIEW /*SYGAL.*/V_DIFF_ROLE; -DROP VIEW /*SYGAL.*/V_DIFF_STRUCTURE; -DROP VIEW /*SYGAL.*/V_DIFF_THESE; -DROP VIEW /*SYGAL.*/V_DIFF_THESE_ANNEE_UNIV; -DROP VIEW /*SYGAL.*/V_DIFF_TITRE_ACCES; -DROP VIEW /*SYGAL.*/V_DIFF_UNITE_RECH; -DROP VIEW /*SYGAL.*/V_DIFF_VARIABLE; -DROP VIEW /*SYGAL.*/V_IMPORT_TAB_COLS; -DROP VIEW /*SYGAL.*/V_INDIVIDU_ROLE; -DROP VIEW /*SYGAL.*/V_SITU_ARCHIVAB_VA; -DROP VIEW /*SYGAL.*/V_SITU_ARCHIVAB_VAC; -DROP VIEW /*SYGAL.*/V_SITU_ARCHIVAB_VO; -DROP VIEW /*SYGAL.*/V_SITU_ARCHIVAB_VOC; -DROP VIEW /*SYGAL.*/V_SITU_ATTESTATIONS; -DROP VIEW /*SYGAL.*/V_SITU_ATTESTATIONS_VOC; -DROP VIEW /*SYGAL.*/V_SITU_AUTORIS_DIFF_THESE; -DROP VIEW /*SYGAL.*/V_SITU_AUTORIS_DIFF_THESE_VOC; -DROP VIEW /*SYGAL.*/V_SITU_DEPOT_PV_SOUT; -DROP VIEW /*SYGAL.*/V_SITU_DEPOT_RAPPORT_SOUT; -DROP VIEW /*SYGAL.*/V_SITU_DEPOT_VA; -DROP VIEW /*SYGAL.*/V_SITU_DEPOT_VAC; -DROP VIEW /*SYGAL.*/V_SITU_DEPOT_VC_VALID_DIR; -DROP VIEW /*SYGAL.*/V_SITU_DEPOT_VC_VALID_DOCT; -DROP VIEW /*SYGAL.*/V_SITU_DEPOT_VO; -DROP VIEW /*SYGAL.*/V_SITU_DEPOT_VOC; -DROP VIEW /*SYGAL.*/V_SITU_RDV_BU_SAISIE_BU; -DROP VIEW /*SYGAL.*/V_SITU_RDV_BU_SAISIE_DOCT; -DROP VIEW /*SYGAL.*/V_SITU_RDV_BU_VALIDATION_BU; -DROP VIEW /*SYGAL.*/V_SITU_SIGNALEMENT_THESE; -DROP VIEW /*SYGAL.*/V_SITU_VALIDATION_PAGE_COUV; -DROP VIEW /*SYGAL.*/V_SITU_VERIF_VA; -DROP VIEW /*SYGAL.*/V_SITU_VERIF_VAC; -DROP VIEW /*SYGAL.*/V_SITU_VERSION_PAPIER_CORRIGEE; -DROP VIEW /*SYGAL.*/V_THESE_ANNEE_UNIV_FIRST; -DROP VIEW /*SYGAL.*/V_TMP_ANOMALIE; -DROP VIEW /*SYGAL.*/V_WF_ETAPE_PERTIN; -DROP VIEW /*SYGAL.*/V_WORKFLOW; -DROP MATERIALIZED VIEW /*SYGAL.*/MV_INDICATEUR_1; -DROP MATERIALIZED VIEW /*SYGAL.*/MV_INDICATEUR_101; -DROP MATERIALIZED VIEW /*SYGAL.*/MV_INDICATEUR_2; -DROP MATERIALIZED VIEW /*SYGAL.*/MV_INDICATEUR_21; -DROP MATERIALIZED VIEW /*SYGAL.*/MV_INDICATEUR_3; -DROP MATERIALIZED VIEW /*SYGAL.*/MV_INDICATEUR_4; -DROP MATERIALIZED VIEW /*SYGAL.*/MV_INDICATEUR_5; -DROP MATERIALIZED VIEW /*SYGAL.*/MV_INDICATEUR_6; -DROP MATERIALIZED VIEW /*SYGAL.*/MV_INDICATEUR_61; -DROP MATERIALIZED VIEW /*SYGAL.*/MV_INDICATEUR_62; -DROP MATERIALIZED VIEW /*SYGAL.*/MV_INDICATEUR_7; -DROP MATERIALIZED VIEW /*SYGAL.*/MV_INDICATEUR_81; -DROP MATERIALIZED VIEW /*SYGAL.*/MV_RECHERCHE_THESE; -DROP FUNCTION /*SYGAL.*/GEN_TABLE_INSERTS; -DROP FUNCTION /*SYGAL.*/INDIVIDU_HAYSTACK; -DROP FUNCTION /*SYGAL.*/NEW_CONTENU; -DROP PACKAGE /*SYGAL.*/APP_IMPORT; -DROP PACKAGE /*SYGAL.*/APP_WORKFLOW; -DROP PACKAGE /*SYGAL.*/UNICAEN_IMPORT; -DROP PACKAGE /*SYGAL.*/UNICAEN_ORACLE; -DROP SEQUENCE /*SYGAL.*/ACTEUR_ID_SEQ; -DROP SEQUENCE /*SYGAL.*/API_LOG_ID_SEQ; -DROP SEQUENCE /*SYGAL.*/ATTESTATION_ID_SEQ; -DROP SEQUENCE /*SYGAL.*/DIFFUSION_ID_SEQ; -DROP SEQUENCE /*SYGAL.*/DOCTORANT_COMPL_ID_SEQ; -DROP SEQUENCE /*SYGAL.*/DOCTORANT_ID_SEQ; -DROP SEQUENCE /*SYGAL.*/DOMAINE_SCIENTIFIQUE_ID_SEQ; -DROP SEQUENCE /*SYGAL.*/ECOLE_DOCT_ID_SEQ; -DROP SEQUENCE /*SYGAL.*/ETABLISSEMENT_ID_SEQ; -DROP SEQUENCE /*SYGAL.*/ETABLISSEMENT_RATTACH_ID_SEQ; -DROP SEQUENCE /*SYGAL.*/FAQ_ID_SEQ; -DROP SEQUENCE /*SYGAL.*/FICHIER_ID_SEQ; -DROP SEQUENCE /*SYGAL.*/FICHIER_THESE_ID_SEQ; -DROP SEQUENCE /*SYGAL.*/FINANCEMENT_ID_SEQ; -DROP SEQUENCE /*SYGAL.*/IMPORT_NOTIF_ID_SEQ; -DROP SEQUENCE /*SYGAL.*/IMPORT_OBSERV_ETAB_ID_SEQ; -DROP SEQUENCE /*SYGAL.*/IMPORT_OBSERV_ID_SEQ; -DROP SEQUENCE /*SYGAL.*/IMPORT_OBSERV_RESULT_ID_SEQ; -DROP SEQUENCE /*SYGAL.*/INDICATEUR_ID_SEQ; -DROP SEQUENCE /*SYGAL.*/INDIVIDU_ID_SEQ; -DROP SEQUENCE /*SYGAL.*/INDIVIDU_ROLE_ID_SEQ; -DROP SEQUENCE /*SYGAL.*/INFORMATION_FICHIER_ID_SEQ; -DROP SEQUENCE /*SYGAL.*/INFORMATION_ID_SEQ; -DROP SEQUENCE /*SYGAL.*/MAIL_CONFIRMATION_ID_SEQ; -DROP SEQUENCE /*SYGAL.*/METADONNEE_THESE_ID_SEQ; -DROP SEQUENCE /*SYGAL.*/NATURE_FICHIER_ID_SEQ; -DROP SEQUENCE /*SYGAL.*/NOTIF_ID_SEQ; -DROP SEQUENCE /*SYGAL.*/NOTIF_RESULT_ID_SEQ; -DROP SEQUENCE /*SYGAL.*/ORIGINE_FINANCEMENT_ID_SEQ; -DROP SEQUENCE /*SYGAL.*/PRIVILEGE_ID_SEQ; -DROP SEQUENCE /*SYGAL.*/PROFIL_ID_SEQ; -DROP SEQUENCE /*SYGAL.*/RDV_BU_ID_SEQ; -DROP SEQUENCE /*SYGAL.*/ROLE_ID_SEQ; -DROP SEQUENCE /*SYGAL.*/STRUCTURE_ID_SEQ; -DROP SEQUENCE /*SYGAL.*/STRUCTURE_SUBSTIT_ID_SEQ; -DROP SEQUENCE /*SYGAL.*/SYNCHRO_LOG_ID_SEQ; -DROP SEQUENCE /*SYGAL.*/SYNC_LOG_ID_SEQ; -DROP SEQUENCE /*SYGAL.*/THESE_ANNEE_UNIV_ID_SEQ; -DROP SEQUENCE /*SYGAL.*/THESE_ID_SEQ; -DROP SEQUENCE /*SYGAL.*/TITRE_ACCES_ID_SEQ; -DROP SEQUENCE /*SYGAL.*/UNITE_RECH_ID_SEQ; -DROP SEQUENCE /*SYGAL.*/UTILISATEUR_ID_SEQ; -DROP SEQUENCE /*SYGAL.*/VALIDATION_ID_SEQ; -DROP SEQUENCE /*SYGAL.*/VALIDITE_FICHIER_ID_SEQ; -DROP SEQUENCE /*SYGAL.*/VARIABLE_ID_SEQ; -DROP SEQUENCE /*SYGAL.*/WF_ETAPE_ID_SEQ; -ALTER TABLE /*SYGAL.*/ACTEUR drop CONSTRAINT ACTEUR_ETAB_ID_FK; -ALTER TABLE /*SYGAL.*/ACTEUR drop CONSTRAINT ACTEUR_HC_FK; -ALTER TABLE /*SYGAL.*/ACTEUR drop CONSTRAINT ACTEUR_HD_FK; -ALTER TABLE /*SYGAL.*/ACTEUR drop CONSTRAINT ACTEUR_HM_FK; -ALTER TABLE /*SYGAL.*/ACTEUR drop CONSTRAINT ACTEUR_INDIV_FK; -ALTER TABLE /*SYGAL.*/ACTEUR drop CONSTRAINT ACTEUR_ROLE_ID_FK; -ALTER TABLE /*SYGAL.*/ACTEUR drop CONSTRAINT ACTEUR_SOURCE_FK; -ALTER TABLE /*SYGAL.*/ACTEUR drop CONSTRAINT ACTEUR_THESE_FK; -ALTER TABLE /*SYGAL.*/ATTESTATION drop CONSTRAINT ATTESTATION_HC_FK; -ALTER TABLE /*SYGAL.*/ATTESTATION drop CONSTRAINT ATTESTATION_HD_FK; -ALTER TABLE /*SYGAL.*/ATTESTATION drop CONSTRAINT ATTESTATION_HM_FK; -ALTER TABLE /*SYGAL.*/ATTESTATION drop CONSTRAINT ATTESTATION_THESE_FK; -ALTER TABLE /*SYGAL.*/DIFFUSION drop CONSTRAINT DIFFUSION_HC_FK; -ALTER TABLE /*SYGAL.*/DIFFUSION drop CONSTRAINT DIFFUSION_HD_FK; -ALTER TABLE /*SYGAL.*/DIFFUSION drop CONSTRAINT DIFFUSION_HM_FK; -ALTER TABLE /*SYGAL.*/DOCTORANT_COMPL drop CONSTRAINT DOCTORANT_COMPL_DOCTORANT_FK; -ALTER TABLE /*SYGAL.*/DOCTORANT drop CONSTRAINT DOCTORANT_ETAB_FK; -ALTER TABLE /*SYGAL.*/DOCTORANT drop CONSTRAINT DOCTORANT_HC_FK; -ALTER TABLE /*SYGAL.*/DOCTORANT drop CONSTRAINT DOCTORANT_HD_FK; -ALTER TABLE /*SYGAL.*/DOCTORANT drop CONSTRAINT DOCTORANT_HM_FK; -ALTER TABLE /*SYGAL.*/DOCTORANT drop CONSTRAINT DOCTORANT_INDIV_FK; -ALTER TABLE /*SYGAL.*/DOCTORANT drop CONSTRAINT DOCTORANT_SOURCE_FK; -ALTER TABLE /*SYGAL.*/ECOLE_DOCT drop CONSTRAINT ECOLE_DOCT_HCFK; -ALTER TABLE /*SYGAL.*/ECOLE_DOCT drop CONSTRAINT ECOLE_DOCT_HDFK; -ALTER TABLE /*SYGAL.*/ECOLE_DOCT drop CONSTRAINT ECOLE_DOCT_HMFK; -ALTER TABLE /*SYGAL.*/ECOLE_DOCT drop CONSTRAINT ECOLE_DOCT_SOURCE_FK; -ALTER TABLE /*SYGAL.*/ECOLE_DOCT drop CONSTRAINT ECOLE_DOCT_STRUCT_FK; -ALTER TABLE /*SYGAL.*/ETABLISSEMENT drop CONSTRAINT ETABLISSEMENT_SOURCE_FK; -ALTER TABLE /*SYGAL.*/ETABLISSEMENT drop CONSTRAINT ETAB_STRUCT_FK; -ALTER TABLE /*SYGAL.*/ETABLISSEMENT drop CONSTRAINT ETAB_UTIL_CREATEUR_FK; -ALTER TABLE /*SYGAL.*/ETABLISSEMENT drop CONSTRAINT ETAB_UTIL_DESTRUCTEUR_FK; -ALTER TABLE /*SYGAL.*/ETABLISSEMENT drop CONSTRAINT ETAB_UTIL_MODIFICATEUR_FK; -ALTER TABLE /*SYGAL.*/FICHIER drop CONSTRAINT FICHIER_HCFK; -ALTER TABLE /*SYGAL.*/FICHIER drop CONSTRAINT FICHIER_HDFK; -ALTER TABLE /*SYGAL.*/FICHIER drop CONSTRAINT FICHIER_HMFK; -ALTER TABLE /*SYGAL.*/FICHIER_SAV drop CONSTRAINT FICHIER_NATURE_FICHIER_ID_FK; -ALTER TABLE /*SYGAL.*/FICHIER drop CONSTRAINT FICHIER_NATURE_FIC_ID_FK; -ALTER TABLE /*SYGAL.*/FICHIER_THESE drop CONSTRAINT FICHIER_THESE_FICHIER_FK; -ALTER TABLE /*SYGAL.*/FICHIER_THESE drop CONSTRAINT FICHIER_THESE_THESE_FK; -ALTER TABLE /*SYGAL.*/FICHIER drop CONSTRAINT FICHIER_VERSION_FK; -ALTER TABLE /*SYGAL.*/FINANCEMENT drop CONSTRAINT FINANCEMENT_HCFK; -ALTER TABLE /*SYGAL.*/FINANCEMENT drop CONSTRAINT FINANCEMENT_HDFK; -ALTER TABLE /*SYGAL.*/FINANCEMENT drop CONSTRAINT FINANCEMENT_HMFK; -ALTER TABLE /*SYGAL.*/FINANCEMENT drop CONSTRAINT FINANCEMENT_SOURCE_FK; -ALTER TABLE /*SYGAL.*/IMPORT_OBSERV_ETAB drop CONSTRAINT IMPORT_OBSERV_ETAB_ETAB_FK; -ALTER TABLE /*SYGAL.*/IMPORT_OBSERV_ETAB drop CONSTRAINT IMPORT_OBSERV_ETAB_OBSERV_FK; -ALTER TABLE /*SYGAL.*/IMPORT_OBSERV_RESULT drop CONSTRAINT IMPORT_OBSERV_RESULT_IOE_FK; -ALTER TABLE /*SYGAL.*/INDIVIDU drop CONSTRAINT INDIVIDU_HC_FK; -ALTER TABLE /*SYGAL.*/INDIVIDU drop CONSTRAINT INDIVIDU_HD_FK; -ALTER TABLE /*SYGAL.*/INDIVIDU drop CONSTRAINT INDIVIDU_HM_FK; -ALTER TABLE /*SYGAL.*/INDIVIDU_ROLE drop CONSTRAINT INDIVIDU_ROLE_IND_ID_FK; -ALTER TABLE /*SYGAL.*/INDIVIDU_ROLE drop CONSTRAINT INDIVIDU_ROLE_ROLE_ID_FK; -ALTER TABLE /*SYGAL.*/INDIVIDU drop CONSTRAINT INDIVIDU_SOURCE_FK; -ALTER TABLE /*SYGAL.*/INFORMATION drop CONSTRAINT INFORMATION_HCFK; -ALTER TABLE /*SYGAL.*/INFORMATION drop CONSTRAINT INFORMATION_HDFK; -ALTER TABLE /*SYGAL.*/INFORMATION drop CONSTRAINT INFORMATION_HMFK; -ALTER TABLE /*SYGAL.*/IMPORT_OBS_NOTIF drop CONSTRAINT IOND__IO_FK; -ALTER TABLE /*SYGAL.*/IMPORT_OBS_NOTIF drop CONSTRAINT IOND__N_FK; -ALTER TABLE /*SYGAL.*/IMPORT_OBS_RESULT_NOTIF drop CONSTRAINT IORNR__IOR_FK; -ALTER TABLE /*SYGAL.*/IMPORT_OBS_RESULT_NOTIF drop CONSTRAINT IORNR__NR_FK; -ALTER TABLE /*SYGAL.*/MAIL_CONFIRMATION drop CONSTRAINT MAILCONFIRMATION_INDIVIDUID_FK; -ALTER TABLE /*SYGAL.*/METADONNEE_THESE drop CONSTRAINT METADONNEE_THESE_THESE_ID_FK; -ALTER TABLE /*SYGAL.*/DIFFUSION drop CONSTRAINT MISE_EN_LIGNE_THESE_FK; -ALTER TABLE /*SYGAL.*/NOTIF_RESULT drop CONSTRAINT NOTIF_RESULT__NOTIF_FK; -ALTER TABLE /*SYGAL.*/ORIGINE_FINANCEMENT drop CONSTRAINT ORIGINE_FINANCEMENT_HCFK; -ALTER TABLE /*SYGAL.*/ORIGINE_FINANCEMENT drop CONSTRAINT ORIGINE_FINANCEMENT_HDFK; -ALTER TABLE /*SYGAL.*/ORIGINE_FINANCEMENT drop CONSTRAINT ORIGINE_FINANCEMENT_HMFK; -ALTER TABLE /*SYGAL.*/ORIGINE_FINANCEMENT drop CONSTRAINT ORIGINE_FINANCEMENT_SOURCE_FK; -ALTER TABLE /*SYGAL.*/PROFIL_PRIVILEGE drop CONSTRAINT PROFIL_PRIVILEGE_PROFIL_ID_FK; -ALTER TABLE /*SYGAL.*/PROFIL_TO_ROLE drop CONSTRAINT PROFIL_TO_ROLE_PROFIL_ID_FK; -ALTER TABLE /*SYGAL.*/PROFIL_TO_ROLE drop CONSTRAINT PROFIL_TO_ROLE_ROLE_ID_FK; -ALTER TABLE /*SYGAL.*/ETABLISSEMENT_RATTACH drop CONSTRAINT RATTACHEMENT_ETAB_ID; -ALTER TABLE /*SYGAL.*/ETABLISSEMENT_RATTACH drop CONSTRAINT RATTACHEMENT_UNITE_ID; -ALTER TABLE /*SYGAL.*/RDV_BU drop CONSTRAINT RDV_BU_FK; -ALTER TABLE /*SYGAL.*/RDV_BU drop CONSTRAINT RDV_BU_HC_FK; -ALTER TABLE /*SYGAL.*/RDV_BU drop CONSTRAINT RDV_BU_HD_FK; -ALTER TABLE /*SYGAL.*/RDV_BU drop CONSTRAINT RDV_BU_HM_FK; -ALTER TABLE /*SYGAL.*/PROFIL drop CONSTRAINT ROLEMODELE_STRUCTURETYPE_FK; -ALTER TABLE /*SYGAL.*/ROLE drop CONSTRAINT ROLE_HC_FK; -ALTER TABLE /*SYGAL.*/ROLE drop CONSTRAINT ROLE_HD_FK; -ALTER TABLE /*SYGAL.*/ROLE drop CONSTRAINT ROLE_HM_FK; -ALTER TABLE /*SYGAL.*/ROLE_PRIVILEGE drop CONSTRAINT ROLE_PRIVILEGE_PRIV_ID_FK; -ALTER TABLE /*SYGAL.*/ROLE_PRIVILEGE drop CONSTRAINT ROLE_PRIVILEGE_ROLE_ID_FK; -ALTER TABLE /*SYGAL.*/PROFIL_PRIVILEGE drop CONSTRAINT ROLE_PRIV_MOD_PRIV_ID_FK; -ALTER TABLE /*SYGAL.*/ROLE drop CONSTRAINT ROLE_SOURCE_FK; -ALTER TABLE /*SYGAL.*/ROLE drop CONSTRAINT ROLE_STRUCTURE_ID_FK; -ALTER TABLE /*SYGAL.*/ROLE drop CONSTRAINT ROLE_TYPE_STRUCT_ID_FK; -ALTER TABLE /*SYGAL.*/SOURCE drop CONSTRAINT SOURCE_ETABLISSEMENT_ID_FK; -ALTER TABLE /*SYGAL.*/STRUCTURE drop CONSTRAINT STRUCTURE_HCFK; -ALTER TABLE /*SYGAL.*/STRUCTURE drop CONSTRAINT STRUCTURE_HDFK; -ALTER TABLE /*SYGAL.*/STRUCTURE drop CONSTRAINT STRUCTURE_HMFK; -ALTER TABLE /*SYGAL.*/STRUCTURE drop CONSTRAINT STRUCTURE_SOURCE_FK; -ALTER TABLE /*SYGAL.*/STRUCTURE drop CONSTRAINT STRUCTURE_TYPE_STRUCTURE_ID_FK; -ALTER TABLE /*SYGAL.*/STRUCTURE_SUBSTIT drop CONSTRAINT STR_SUBSTIT_CREATEUR_FK; -ALTER TABLE /*SYGAL.*/STRUCTURE_SUBSTIT drop CONSTRAINT STR_SUBSTIT_DESTRUCTEUR_FK; -ALTER TABLE /*SYGAL.*/STRUCTURE_SUBSTIT drop CONSTRAINT STR_SUBSTIT_MODIFICATEUR_FK; -ALTER TABLE /*SYGAL.*/STRUCTURE_SUBSTIT drop CONSTRAINT STR_SUBSTIT_STR_FROM_FK; -ALTER TABLE /*SYGAL.*/STRUCTURE_SUBSTIT drop CONSTRAINT STR_SUBSTIT_STR_TO_FK; -ALTER TABLE /*SYGAL.*/PRIVILEGE drop CONSTRAINT SYS_C006123; -ALTER TABLE /*SYGAL.*/DOCTORANT_COMPL drop CONSTRAINT THESARD_COMPL_HCFK; -ALTER TABLE /*SYGAL.*/DOCTORANT_COMPL drop CONSTRAINT THESARD_COMPL_HDFK; -ALTER TABLE /*SYGAL.*/DOCTORANT_COMPL drop CONSTRAINT THESARD_COMPL_HMFK; -ALTER TABLE /*SYGAL.*/THESE_ANNEE_UNIV drop CONSTRAINT THESE_ANNEE_UNIV_HC_FK; -ALTER TABLE /*SYGAL.*/THESE_ANNEE_UNIV drop CONSTRAINT THESE_ANNEE_UNIV_HD_FK; -ALTER TABLE /*SYGAL.*/THESE_ANNEE_UNIV drop CONSTRAINT THESE_ANNEE_UNIV_HM_FK; -ALTER TABLE /*SYGAL.*/THESE_ANNEE_UNIV drop CONSTRAINT THESE_ANNEE_UNIV_SOURCE_FK; -ALTER TABLE /*SYGAL.*/THESE_ANNEE_UNIV drop CONSTRAINT THESE_ANNEE_UNIV_THESE_ID_FK; -ALTER TABLE /*SYGAL.*/THESE drop CONSTRAINT THESE_DOCTORANT_FK; -ALTER TABLE /*SYGAL.*/THESE drop CONSTRAINT THESE_ECOLE_DOCT_FK; -ALTER TABLE /*SYGAL.*/THESE drop CONSTRAINT THESE_ETAB_FK; -ALTER TABLE /*SYGAL.*/THESE drop CONSTRAINT THESE_HC_FK; -ALTER TABLE /*SYGAL.*/THESE drop CONSTRAINT THESE_HD_FK; -ALTER TABLE /*SYGAL.*/THESE drop CONSTRAINT THESE_HM_FK; -ALTER TABLE /*SYGAL.*/THESE drop CONSTRAINT THESE_SOURCE_FK; -ALTER TABLE /*SYGAL.*/THESE drop CONSTRAINT THESE_UNITE_RECH_FK; -ALTER TABLE /*SYGAL.*/TITRE_ACCES drop CONSTRAINT TITRE_ACCES_HC_FK; -ALTER TABLE /*SYGAL.*/TITRE_ACCES drop CONSTRAINT TITRE_ACCES_HD_FK; -ALTER TABLE /*SYGAL.*/TITRE_ACCES drop CONSTRAINT TITRE_ACCES_HM_FK; -ALTER TABLE /*SYGAL.*/TITRE_ACCES drop CONSTRAINT TITRE_ACCES_SOURCE_FK; -ALTER TABLE /*SYGAL.*/TITRE_ACCES drop CONSTRAINT TITRE_ACCES_THESE_ID_FK; -ALTER TABLE /*SYGAL.*/UNITE_RECH drop CONSTRAINT UNITE_RECH_COMPL_HCFK; -ALTER TABLE /*SYGAL.*/UNITE_RECH drop CONSTRAINT UNITE_RECH_COMPL_HDFK; -ALTER TABLE /*SYGAL.*/UNITE_RECH drop CONSTRAINT UNITE_RECH_COMPL_HMFK; -ALTER TABLE /*SYGAL.*/UNITE_RECH drop CONSTRAINT UNITE_RECH_SOURCE_FK; -ALTER TABLE /*SYGAL.*/UNITE_RECH drop CONSTRAINT UNITE_RECH_STRUCT_FK; -ALTER TABLE /*SYGAL.*/UTILISATEUR drop CONSTRAINT UTILISATEUR_INDIVIDU_FK; -ALTER TABLE /*SYGAL.*/VALIDATION drop CONSTRAINT VALIDATION_HCFK; -ALTER TABLE /*SYGAL.*/VALIDATION drop CONSTRAINT VALIDATION_HDFK; -ALTER TABLE /*SYGAL.*/VALIDATION drop CONSTRAINT VALIDATION_HMFK; -ALTER TABLE /*SYGAL.*/VALIDATION drop CONSTRAINT VALIDATION_INDIVIDU_ID_FK; -ALTER TABLE /*SYGAL.*/VALIDATION drop CONSTRAINT VALIDATION_THESE_FK; -ALTER TABLE /*SYGAL.*/VALIDATION drop CONSTRAINT VALIDATION_TYPE_VALIDATION_FK; -ALTER TABLE /*SYGAL.*/VALIDITE_FICHIER drop CONSTRAINT VALIDITE_FICHIER_FFK; -ALTER TABLE /*SYGAL.*/VALIDITE_FICHIER drop CONSTRAINT VALIDITE_FICHIER_HCFK; -ALTER TABLE /*SYGAL.*/VALIDITE_FICHIER drop CONSTRAINT VALIDITE_FICHIER_HDFK; -ALTER TABLE /*SYGAL.*/VALIDITE_FICHIER drop CONSTRAINT VALIDITE_FICHIER_HMFK; -ALTER TABLE /*SYGAL.*/VARIABLE drop CONSTRAINT VARIABLE_ETAB_FK; -ALTER TABLE /*SYGAL.*/VARIABLE drop CONSTRAINT VARIABLE_HC_FK; -ALTER TABLE /*SYGAL.*/VARIABLE drop CONSTRAINT VARIABLE_HD_FK; -ALTER TABLE /*SYGAL.*/VARIABLE drop CONSTRAINT VARIABLE_HM_FK; -ALTER TABLE /*SYGAL.*/VARIABLE drop CONSTRAINT VARIABLE_SOURCE_FK; -ALTER TABLE /*SYGAL.*/ACTEUR drop CONSTRAINT ACTEUR_PK; -ALTER TABLE /*SYGAL.*/API_LOG drop CONSTRAINT API_LOG_PK; -ALTER TABLE /*SYGAL.*/ATTESTATION drop CONSTRAINT ATTESTATION_PK; -ALTER TABLE /*SYGAL.*/DOCTORANT drop CONSTRAINT DOCTORANT_PK; -ALTER TABLE /*SYGAL.*/ECOLE_DOCT drop CONSTRAINT ECOLE_DOCT_PK; -ALTER TABLE /*SYGAL.*/ETABLISSEMENT drop CONSTRAINT ETAB_PK; -ALTER TABLE /*SYGAL.*/FAQ drop CONSTRAINT FAQ_PK; -ALTER TABLE /*SYGAL.*/FICHIER_SAV drop CONSTRAINT FICHIER_PK; -ALTER TABLE /*SYGAL.*/FICHIER drop CONSTRAINT FICHIER_PK_NEW; -ALTER TABLE /*SYGAL.*/FICHIER_THESE drop CONSTRAINT FICHIER_THESE_PK_NEW; -ALTER TABLE /*SYGAL.*/IMPORT_NOTIF drop CONSTRAINT IMPORT_NOTIF_PK; -ALTER TABLE /*SYGAL.*/IMPORT_OBSERV_ETAB drop CONSTRAINT IMPORT_OBSERV_ETAB_PK; -ALTER TABLE /*SYGAL.*/IMPORT_OBSERV drop CONSTRAINT IMPORT_OBSERV_PK; -ALTER TABLE /*SYGAL.*/IMPORT_OBSERV_RESULT drop CONSTRAINT IMPORT_OBSERV_RESULT_PK; -ALTER TABLE /*SYGAL.*/INDIVIDU drop CONSTRAINT INDIVIDU_PK; -ALTER TABLE /*SYGAL.*/INDIVIDU_RECH drop CONSTRAINT INDIVIDU_RECH_PK; -ALTER TABLE /*SYGAL.*/INDIVIDU_ROLE drop CONSTRAINT INDIVIDU_ROLE_PK; -ALTER TABLE /*SYGAL.*/INFORMATION_FICHIER_SAV drop CONSTRAINT INFORMATION_FICHIER_PK; -ALTER TABLE /*SYGAL.*/INFORMATION drop CONSTRAINT INFORMATION_PK; -ALTER TABLE /*SYGAL.*/IMPORT_OBS_NOTIF drop CONSTRAINT IOND_PK; -ALTER TABLE /*SYGAL.*/IMPORT_OBS_RESULT_NOTIF drop CONSTRAINT IORNR_PK; -ALTER TABLE /*SYGAL.*/METADONNEE_THESE drop CONSTRAINT METADONNEE_THESE_PK; -ALTER TABLE /*SYGAL.*/DIFFUSION drop CONSTRAINT MISE_EN_LIGNE_PK; -ALTER TABLE /*SYGAL.*/NOTIF drop CONSTRAINT NOTIF_PK; -ALTER TABLE /*SYGAL.*/NOTIF_RESULT drop CONSTRAINT NOTIF_RESULT_PK; -ALTER TABLE /*SYGAL.*/PARAMETRE drop CONSTRAINT PARAMETRE_PK; -ALTER TABLE /*SYGAL.*/PROFIL_PRIVILEGE drop CONSTRAINT PROFIL_PRIVILEGE_PK; -ALTER TABLE /*SYGAL.*/PROFIL_TO_ROLE drop CONSTRAINT PROFIL_TO_ROLE_PK; -ALTER TABLE /*SYGAL.*/RDV_BU drop CONSTRAINT RDV_BU_PK; -ALTER TABLE /*SYGAL.*/ROLE drop CONSTRAINT ROLE_PK; -ALTER TABLE /*SYGAL.*/ROLE_PRIVILEGE drop CONSTRAINT ROLE_PRIVILEGE_PK; -ALTER TABLE /*SYGAL.*/SOURCE drop CONSTRAINT SOURCE_PK; -ALTER TABLE /*SYGAL.*/STRUCTURE drop CONSTRAINT STRUCTURE_PK; -ALTER TABLE /*SYGAL.*/STRUCTURE_SUBSTIT drop CONSTRAINT STR_SUBSTIT_PK; -ALTER TABLE /*SYGAL.*/SYNCHRO_LOG drop CONSTRAINT SYNCHRO_LOG_PK; -ALTER TABLE /*SYGAL.*/SYNC_LOG drop CONSTRAINT SYNC_LOG_PK; -ALTER TABLE /*SYGAL.*/UNITE_DOMAINE_LINKER drop CONSTRAINT SYS_C0010859; -ALTER TABLE /*SYGAL.*/ORIGINE_FINANCEMENT drop CONSTRAINT SYS_C0012274; -ALTER TABLE /*SYGAL.*/FINANCEMENT drop CONSTRAINT SYS_C0012288; -ALTER TABLE /*SYGAL.*/CATEGORIE_PRIVILEGE drop CONSTRAINT SYS_C006106; -ALTER TABLE /*SYGAL.*/NATURE_FICHIER drop CONSTRAINT SYS_C006109; -ALTER TABLE /*SYGAL.*/PRIVILEGE drop CONSTRAINT SYS_C006122; -ALTER TABLE /*SYGAL.*/PROFIL drop CONSTRAINT SYS_C006505; -ALTER TABLE /*SYGAL.*/MAIL_CONFIRMATION drop CONSTRAINT SYS_C006512; -ALTER TABLE /*SYGAL.*/ETABLISSEMENT_RATTACH drop CONSTRAINT SYS_C006545; -ALTER TABLE /*SYGAL.*/DOMAINE_SCIENTIFIQUE drop CONSTRAINT SYS_C006550; -ALTER TABLE /*SYGAL.*/INDICATEUR drop CONSTRAINT SYS_C009540; -ALTER TABLE /*SYGAL.*/DOCTORANT_COMPL drop CONSTRAINT THESARD_COMPL_PK; -ALTER TABLE /*SYGAL.*/THESE_ANNEE_UNIV drop CONSTRAINT THESE_ANNEE_UNIV_PK; -ALTER TABLE /*SYGAL.*/THESE drop CONSTRAINT THESE_PK; -ALTER TABLE /*SYGAL.*/MV_INDICATEUR_1 drop CONSTRAINT THESE_PK1; -ALTER TABLE /*SYGAL.*/TITRE_ACCES drop CONSTRAINT TITRE_ACCES_PK; -ALTER TABLE /*SYGAL.*/TYPE_STRUCTURE drop CONSTRAINT TYPE_STRUCTURE_PK; -ALTER TABLE /*SYGAL.*/TYPE_VALIDATION drop CONSTRAINT TYPE_VALIDATION_PK; -ALTER TABLE /*SYGAL.*/UNITE_RECH drop CONSTRAINT UNITE_RECH_PK; -ALTER TABLE /*SYGAL.*/UTILISATEUR drop CONSTRAINT UTILISATEUR_PK; -ALTER TABLE /*SYGAL.*/VALIDATION drop CONSTRAINT VALIDATION_PK; -ALTER TABLE /*SYGAL.*/VALIDITE_FICHIER drop CONSTRAINT VALIDITE_FICHIER_PK; -ALTER TABLE /*SYGAL.*/VARIABLE drop CONSTRAINT VARIABLE_PK; -ALTER TABLE /*SYGAL.*/VERSION_FICHIER drop CONSTRAINT VERSION_FICHIER_PK; -ALTER TABLE /*SYGAL.*/WF_ETAPE drop CONSTRAINT WF_ETAPE_PK; -DROP TABLE /*SYGAL.*/ACTEUR PURGE; -DROP TABLE /*SYGAL.*/API_LOG PURGE; -DROP TABLE /*SYGAL.*/ATTESTATION PURGE; -DROP TABLE /*SYGAL.*/BACKUP_FICHIER PURGE; -DROP TABLE /*SYGAL.*/CATEGORIE_PRIVILEGE PURGE; -DROP TABLE /*SYGAL.*/DIFFUSION PURGE; -DROP TABLE /*SYGAL.*/DOCTORANT PURGE; -DROP TABLE /*SYGAL.*/DOCTORANT_COMPL PURGE; -DROP TABLE /*SYGAL.*/DOMAINE_SCIENTIFIQUE PURGE; -DROP TABLE /*SYGAL.*/ECOLE_DOCT PURGE; -DROP TABLE /*SYGAL.*/ETABLISSEMENT PURGE; -DROP TABLE /*SYGAL.*/ETABLISSEMENT_RATTACH PURGE; -DROP TABLE /*SYGAL.*/FAQ PURGE; -DROP TABLE /*SYGAL.*/FICHIER PURGE; -DROP TABLE /*SYGAL.*/FICHIER_SAV PURGE; -DROP TABLE /*SYGAL.*/FICHIER_THESE PURGE; -DROP TABLE /*SYGAL.*/FICHIER_THESE_SAV PURGE; -DROP TABLE /*SYGAL.*/FINANCEMENT PURGE; -DROP TABLE /*SYGAL.*/IMPORT_NOTIF PURGE; -DROP TABLE /*SYGAL.*/IMPORT_OBSERV PURGE; -DROP TABLE /*SYGAL.*/IMPORT_OBSERV_ETAB PURGE; -DROP TABLE /*SYGAL.*/IMPORT_OBSERV_RESULT PURGE; -DROP TABLE /*SYGAL.*/IMPORT_OBS_NOTIF PURGE; -DROP TABLE /*SYGAL.*/IMPORT_OBS_RESULT_NOTIF PURGE; -DROP TABLE /*SYGAL.*/INDICATEUR PURGE; -DROP TABLE /*SYGAL.*/INDIVIDU PURGE; -DROP TABLE /*SYGAL.*/INDIVIDU_RECH PURGE; -DROP TABLE /*SYGAL.*/INDIVIDU_ROLE PURGE; -DROP TABLE /*SYGAL.*/INFORMATION PURGE; -DROP TABLE /*SYGAL.*/INFORMATION_FICHIER_SAV PURGE; -DROP TABLE /*SYGAL.*/MAIL_CONFIRMATION PURGE; -DROP TABLE /*SYGAL.*/METADONNEE_THESE PURGE; -DROP TABLE /*SYGAL.*/NATURE_FICHIER PURGE; -DROP TABLE /*SYGAL.*/NOTIF PURGE; -DROP TABLE /*SYGAL.*/NOTIF_RESULT PURGE; -DROP TABLE /*SYGAL.*/ORIGINE_FINANCEMENT PURGE; -DROP TABLE /*SYGAL.*/PARAMETRE PURGE; -DROP TABLE /*SYGAL.*/PRIVILEGE PURGE; -DROP TABLE /*SYGAL.*/PROFIL PURGE; -DROP TABLE /*SYGAL.*/PROFIL_PRIVILEGE PURGE; -DROP TABLE /*SYGAL.*/PROFIL_TO_ROLE PURGE; -DROP TABLE /*SYGAL.*/RDV_BU PURGE; -DROP TABLE /*SYGAL.*/ROLE PURGE; -DROP TABLE /*SYGAL.*/ROLE_PRIVILEGE PURGE; -DROP TABLE /*SYGAL.*/SOURCE PURGE; -DROP TABLE /*SYGAL.*/STRUCTURE PURGE; -DROP TABLE /*SYGAL.*/STRUCTURE_SUBSTIT PURGE; -DROP TABLE /*SYGAL.*/SYNCHRO_LOG PURGE; -DROP TABLE /*SYGAL.*/SYNC_LOG PURGE; -DROP TABLE /*SYGAL.*/THESE PURGE; -DROP TABLE /*SYGAL.*/THESE_ANNEE_UNIV PURGE; -DROP TABLE /*SYGAL.*/TITRE_ACCES PURGE; -DROP TABLE /*SYGAL.*/TMP_ACTEUR PURGE; -DROP TABLE /*SYGAL.*/TMP_DOCTORANT PURGE; -DROP TABLE /*SYGAL.*/TMP_ECOLE_DOCT PURGE; -DROP TABLE /*SYGAL.*/TMP_ETABLISSEMENT PURGE; -DROP TABLE /*SYGAL.*/TMP_FINANCEMENT PURGE; -DROP TABLE /*SYGAL.*/TMP_INDIVIDU PURGE; -DROP TABLE /*SYGAL.*/TMP_ORIGINE_FINANCEMENT PURGE; -DROP TABLE /*SYGAL.*/TMP_ROLE PURGE; -DROP TABLE /*SYGAL.*/TMP_STRUCTURE PURGE; -DROP TABLE /*SYGAL.*/TMP_THESE PURGE; -DROP TABLE /*SYGAL.*/TMP_THESE_ANNEE_UNIV PURGE; -DROP TABLE /*SYGAL.*/TMP_TITRE_ACCES PURGE; -DROP TABLE /*SYGAL.*/TMP_UNITE_RECH PURGE; -DROP TABLE /*SYGAL.*/TMP_VARIABLE PURGE; -DROP TABLE /*SYGAL.*/TYPE_STRUCTURE PURGE; -DROP TABLE /*SYGAL.*/TYPE_VALIDATION PURGE; -DROP TABLE /*SYGAL.*/UNITE_DOMAINE_LINKER PURGE; -DROP TABLE /*SYGAL.*/UNITE_RECH PURGE; -DROP TABLE /*SYGAL.*/UTILISATEUR PURGE; -DROP TABLE /*SYGAL.*/VALIDATION PURGE; -DROP TABLE /*SYGAL.*/VALIDITE_FICHIER PURGE; -DROP TABLE /*SYGAL.*/VALIDITE_FICHIER_SAV PURGE; -DROP TABLE /*SYGAL.*/VARIABLE PURGE; -DROP TABLE /*SYGAL.*/VERSION_FICHIER PURGE; -DROP TABLE /*SYGAL.*/WF_ETAPE PURGE; diff --git a/database/00-oracle-generate-schema-SYGAL.sql b/database/00-oracle-generate-schema-SYGAL.sql deleted file mode 100644 index 2fc90ef5b5d39a5c29239e3acff822ee07592447..0000000000000000000000000000000000000000 --- a/database/00-oracle-generate-schema-SYGAL.sql +++ /dev/null @@ -1,4625 +0,0 @@ -SET SQLBLANKLINES ON; - - - CREATE SEQUENCE /*"SYGAL".*/"ACTEUR_ID_SEQ" MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 /*START WITH 240716*/ /*CACHE 20*/ NOORDER NOCYCLE ; - CREATE SEQUENCE /*"SYGAL".*/"API_LOG_ID_SEQ" MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 /*START WITH 1269132*/ /*CACHE 20*/ NOORDER NOCYCLE ; - CREATE SEQUENCE /*"SYGAL".*/"ATTESTATION_ID_SEQ" MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 /*START WITH 6643*/ /*CACHE 20*/ NOORDER NOCYCLE ; - CREATE SEQUENCE /*"SYGAL".*/"DIFFUSION_ID_SEQ" MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 /*START WITH 7083*/ /*CACHE 20*/ NOORDER NOCYCLE ; - CREATE SEQUENCE /*"SYGAL".*/"DOCTORANT_COMPL_ID_SEQ" MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 /*START WITH 801*/ /*CACHE 20*/ NOORDER NOCYCLE ; - CREATE SEQUENCE /*"SYGAL".*/"DOCTORANT_ID_SEQ" MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 /*START WITH 42008*/ /*CACHE 20*/ NOORDER NOCYCLE ; - CREATE SEQUENCE /*"SYGAL".*/"DOMAINE_SCIENTIFIQUE_ID_SEQ" MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 /*START WITH 21*/ /*CACHE 20*/ NOORDER NOCYCLE ; - CREATE SEQUENCE /*"SYGAL".*/"ECOLE_DOCT_ID_SEQ" MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 /*START WITH 101*/ /*CACHE 20*/ NOORDER NOCYCLE ; - CREATE SEQUENCE /*"SYGAL".*/"ETABLISSEMENT_ID_SEQ" MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 /*START WITH 6603*/ /*CACHE 20*/ NOORDER NOCYCLE ; - CREATE SEQUENCE /*"SYGAL".*/"ETABLISSEMENT_RATTACH_ID_SEQ" MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 /*START WITH 381*/ /*CACHE 20*/ NOORDER NOCYCLE ; - CREATE SEQUENCE /*"SYGAL".*/"FAQ_ID_SEQ" MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 /*START WITH 101*/ /*CACHE 20*/ NOORDER NOCYCLE ; - CREATE SEQUENCE /*"SYGAL".*/"FICHIER_ID_SEQ" MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 /*START WITH 10713*/ /*CACHE 20*/ NOORDER NOCYCLE ; - CREATE SEQUENCE /*"SYGAL".*/"FICHIER_THESE_ID_SEQ" MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 /*START WITH 10533*/ /*CACHE 20*/ NOORDER NOCYCLE ; - CREATE SEQUENCE /*"SYGAL".*/"FINANCEMENT_ID_SEQ" MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 /*START WITH 11121*/ /*CACHE 20*/ NOORDER NOCYCLE ; - CREATE SEQUENCE /*"SYGAL".*/"IMPORT_NOTIF_ID_SEQ" MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 /*START WITH 21*/ /*CACHE 20*/ NOORDER NOCYCLE ; - CREATE SEQUENCE /*"SYGAL".*/"IMPORT_OBSERV_ETAB_ID_SEQ" MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 /*START WITH 21*/ /*CACHE 20*/ NOORDER NOCYCLE ; - CREATE SEQUENCE /*"SYGAL".*/"IMPORT_OBSERV_ID_SEQ" MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 /*START WITH 21*/ /*CACHE 20*/ NOORDER NOCYCLE ; - CREATE SEQUENCE /*"SYGAL".*/"IMPORT_OBSERV_RESULT_ID_SEQ" MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 /*START WITH 497361*/ /*CACHE 20*/ NOORDER NOCYCLE ; - CREATE SEQUENCE /*"SYGAL".*/"INDICATEUR_ID_SEQ" MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 /*START WITH 121*/ /*CACHE 20*/ NOORDER NOCYCLE ; - CREATE SEQUENCE /*"SYGAL".*/"INDIVIDU_ID_SEQ" MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 /*START WITH 798753*/ /*CACHE 20*/ NOORDER NOCYCLE ; - CREATE SEQUENCE /*"SYGAL".*/"INDIVIDU_ROLE_ID_SEQ" MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 /*START WITH 2184*/ /*CACHE 20*/ NOORDER NOCYCLE ; - CREATE SEQUENCE /*"SYGAL".*/"INFORMATION_FICHIER_ID_SEQ" MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 /*START WITH 481*/ /*CACHE 20*/ NOORDER NOCYCLE ; - CREATE SEQUENCE /*"SYGAL".*/"INFORMATION_ID_SEQ" MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 /*START WITH 181*/ /*CACHE 20*/ NOORDER NOCYCLE ; - CREATE SEQUENCE /*"SYGAL".*/"MAIL_CONFIRMATION_ID_SEQ" MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 /*START WITH 6676*/ /*CACHE 20*/ NOORDER NOCYCLE ; - CREATE SEQUENCE /*"SYGAL".*/"METADONNEE_THESE_ID_SEQ" MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 /*START WITH 6403*/ /*CACHE 20*/ NOORDER NOCYCLE ; - CREATE SEQUENCE /*"SYGAL".*/"NATURE_FICHIER_ID_SEQ" MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 /*START WITH 41*/ /*CACHE 20*/ NOORDER NOCYCLE ; - CREATE SEQUENCE /*"SYGAL".*/"NOTIF_ID_SEQ" MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 /*START WITH 1*/ /*CACHE 20*/ NOORDER NOCYCLE ; - CREATE SEQUENCE /*"SYGAL".*/"NOTIF_RESULT_ID_SEQ" MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 /*START WITH 1*/ /*CACHE 20*/ NOORDER NOCYCLE ; - CREATE SEQUENCE /*"SYGAL".*/"ORIGINE_FINANCEMENT_ID_SEQ" MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 /*START WITH 41*/ /*CACHE 20*/ NOORDER NOCYCLE ; - CREATE SEQUENCE /*"SYGAL".*/"PRIVILEGE_ID_SEQ" MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 /*START WITH 361*/ /*CACHE 20*/ NOORDER NOCYCLE ; - CREATE SEQUENCE /*"SYGAL".*/"PROFIL_ID_SEQ" MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 /*START WITH 41*/ /*CACHE 20*/ NOORDER NOCYCLE ; - CREATE SEQUENCE /*"SYGAL".*/"RDV_BU_ID_SEQ" MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 /*START WITH 6324*/ /*CACHE 20*/ NOORDER NOCYCLE ; - CREATE SEQUENCE /*"SYGAL".*/"ROLE_ID_SEQ" MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 /*START WITH 1081*/ /*CACHE 20*/ NOORDER NOCYCLE ; - CREATE SEQUENCE /*"SYGAL".*/"STRUCTURE_ID_SEQ" MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 /*START WITH 7023*/ /*CACHE 20*/ NOORDER NOCYCLE ; - CREATE SEQUENCE /*"SYGAL".*/"STRUCTURE_SUBSTIT_ID_SEQ" MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 /*START WITH 381*/ /*CACHE 20*/ NOORDER NOCYCLE ; - CREATE SEQUENCE /*"SYGAL".*/"SYNCHRO_LOG_ID_SEQ" MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 /*START WITH 1148559*/ /*CACHE 20*/ NOORDER NOCYCLE ; - CREATE SEQUENCE /*"SYGAL".*/"SYNC_LOG_ID_SEQ" MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 /*START WITH 881602*/ /*CACHE 20*/ NOORDER NOCYCLE ; - CREATE SEQUENCE /*"SYGAL".*/"THESE_ANNEE_UNIV_ID_SEQ" MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 /*START WITH 66701*/ /*CACHE 20*/ NOORDER NOCYCLE ; - CREATE SEQUENCE /*"SYGAL".*/"THESE_ID_SEQ" MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 /*START WITH 43187*/ /*CACHE 20*/ NOORDER NOCYCLE ; - CREATE SEQUENCE /*"SYGAL".*/"TITRE_ACCES_ID_SEQ" MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 /*START WITH 12321*/ /*CACHE 20*/ NOORDER NOCYCLE ; - CREATE SEQUENCE /*"SYGAL".*/"UNITE_RECH_ID_SEQ" MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 /*START WITH 701*/ /*CACHE 20*/ NOORDER NOCYCLE ; - CREATE SEQUENCE /*"SYGAL".*/"UTILISATEUR_ID_SEQ" MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 /*START WITH 20413*/ /*CACHE 20*/ NOORDER NOCYCLE ; - CREATE SEQUENCE /*"SYGAL".*/"VALIDATION_ID_SEQ" MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 /*START WITH 17472*/ /*CACHE 20*/ NOORDER NOCYCLE ; - CREATE SEQUENCE /*"SYGAL".*/"VALIDITE_FICHIER_ID_SEQ" MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 /*START WITH 13848*/ /*CACHE 20*/ NOORDER NOCYCLE ; - CREATE SEQUENCE /*"SYGAL".*/"VARIABLE_ID_SEQ" MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 /*START WITH 128*/ /*CACHE 20*/ NOORDER NOCYCLE ; - CREATE SEQUENCE /*"SYGAL".*/"WF_ETAPE_ID_SEQ" MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 /*START WITH 81*/ /*CACHE 20*/ NOORDER NOCYCLE ; - CREATE TABLE /*"SYGAL".*/"ACTEUR" - ( "ID" NUMBER NOT NULL ENABLE, - "INDIVIDU_ID" NUMBER DEFAULT NULL NOT NULL ENABLE, - "THESE_ID" NUMBER DEFAULT NULL NOT NULL ENABLE, - "ROLE_ID" NUMBER DEFAULT NULL NOT NULL ENABLE, - "QUALITE" VARCHAR2(200 CHAR), - "LIB_ROLE_COMPL" VARCHAR2(200 CHAR), - "SOURCE_CODE" VARCHAR2(64 CHAR) NOT NULL ENABLE, - "SOURCE_ID" NUMBER NOT NULL ENABLE, - "HISTO_CREATEUR_ID" NUMBER NOT NULL ENABLE, - "HISTO_CREATION" DATE DEFAULT SYSDATE NOT NULL ENABLE, - "HISTO_MODIFICATEUR_ID" NUMBER NOT NULL ENABLE, - "HISTO_MODIFICATION" DATE DEFAULT SYSDATE NOT NULL ENABLE, - "HISTO_DESTRUCTEUR_ID" NUMBER, - "HISTO_DESTRUCTION" DATE, - "ACTEUR_ETABLISSEMENT_ID" NUMBER, - CONSTRAINT "ACTEUR_PK" PRIMARY KEY ("ID") ENABLE - ) ; - CREATE TABLE /*"SYGAL".*/"API_LOG" - ( "ID" NUMBER NOT NULL ENABLE, - "REQ_URI" VARCHAR2(2000 CHAR) NOT NULL ENABLE, - "REQ_START_DATE" DATE NOT NULL ENABLE, - "REQ_END_DATE" DATE, - "REQ_STATUS" VARCHAR2(32 CHAR), - "REQ_RESPONSE" CLOB, - "REQ_ETABLISSEMENT" VARCHAR2(64), - "REQ_TABLE" VARCHAR2(64), - CONSTRAINT "API_LOG_PK" PRIMARY KEY ("ID") ENABLE - ) ; - CREATE TABLE /*"SYGAL".*/"ATTESTATION" - ( "ID" NUMBER NOT NULL ENABLE, - "THESE_ID" NUMBER NOT NULL ENABLE, - "VER_DEPO_EST_VER_REF" NUMBER(1,0) DEFAULT 0 NOT NULL ENABLE, - "EX_IMPR_CONFORM_VER_DEPO" NUMBER(1,0) DEFAULT null, - "HISTO_CREATION" DATE DEFAULT SYSDATE NOT NULL ENABLE, - "HISTO_CREATEUR_ID" NUMBER NOT NULL ENABLE, - "HISTO_MODIFICATION" DATE DEFAULT SYSDATE NOT NULL ENABLE, - "HISTO_MODIFICATEUR_ID" NUMBER NOT NULL ENABLE, - "HISTO_DESTRUCTION" DATE, - "HISTO_DESTRUCTEUR_ID" NUMBER, - "VERSION_CORRIGEE" NUMBER(1,0) DEFAULT 0 NOT NULL ENABLE, - CONSTRAINT "ATTESTATION_PK" PRIMARY KEY ("ID") ENABLE - ) ; - CREATE TABLE /*"SYGAL".*/"CATEGORIE_PRIVILEGE" - ( "ID" NUMBER NOT NULL ENABLE, - "CODE" VARCHAR2(150 CHAR) NOT NULL ENABLE, - "LIBELLE" VARCHAR2(200 CHAR) NOT NULL ENABLE, - "ORDRE" NUMBER, - PRIMARY KEY ("ID") ENABLE - ) ; - CREATE TABLE /*"SYGAL".*/"DIFFUSION" - ( "ID" NUMBER NOT NULL ENABLE, - "THESE_ID" NUMBER NOT NULL ENABLE, - "DROIT_AUTEUR_OK" NUMBER(1,0) DEFAULT 0 NOT NULL ENABLE, - "AUTORIS_MEL" NUMBER(1,0) DEFAULT 0 NOT NULL ENABLE, - "AUTORIS_EMBARGO_DUREE" VARCHAR2(20 CHAR), - "AUTORIS_MOTIF" VARCHAR2(2000 CHAR), - "HISTO_CREATION" DATE DEFAULT SYSDATE NOT NULL ENABLE, - "HISTO_CREATEUR_ID" NUMBER NOT NULL ENABLE, - "HISTO_MODIFICATION" DATE DEFAULT SYSDATE NOT NULL ENABLE, - "HISTO_MODIFICATEUR_ID" NUMBER NOT NULL ENABLE, - "HISTO_DESTRUCTION" DATE, - "HISTO_DESTRUCTEUR_ID" NUMBER, - "CERTIF_CHARTE_DIFF" NUMBER(1,0) DEFAULT 0 NOT NULL ENABLE, - "CONFIDENT" NUMBER(1,0) DEFAULT 0 NOT NULL ENABLE, - "CONFIDENT_DATE_FIN" DATE, - "ORCID" VARCHAR2(200 CHAR), - "NNT" VARCHAR2(30), - "HAL_ID" VARCHAR2(100), - "VERSION_CORRIGEE" NUMBER(1,0) DEFAULT 0 NOT NULL ENABLE, - CONSTRAINT "MISE_EN_LIGNE_PK" PRIMARY KEY ("ID") ENABLE - ) ; - CREATE TABLE /*"SYGAL".*/"DOCTORANT" - ( "ID" NUMBER NOT NULL ENABLE, - "ETABLISSEMENT_ID" NUMBER DEFAULT NULL NOT NULL ENABLE, - "INDIVIDU_ID" NUMBER DEFAULT NULL NOT NULL ENABLE, - "SOURCE_CODE" VARCHAR2(64 CHAR) NOT NULL ENABLE, - "SOURCE_ID" NUMBER NOT NULL ENABLE, - "HISTO_CREATEUR_ID" NUMBER NOT NULL ENABLE, - "HISTO_CREATION" DATE DEFAULT SYSDATE NOT NULL ENABLE, - "HISTO_MODIFICATEUR_ID" NUMBER NOT NULL ENABLE, - "HISTO_MODIFICATION" DATE DEFAULT SYSDATE NOT NULL ENABLE, - "HISTO_DESTRUCTEUR_ID" NUMBER, - "HISTO_DESTRUCTION" DATE, - "INE" VARCHAR2(64), - CONSTRAINT "DOCTORANT_PK" PRIMARY KEY ("ID") ENABLE - ) ; - CREATE TABLE /*"SYGAL".*/"DOCTORANT_COMPL" - ( "ID" NUMBER NOT NULL ENABLE, - "DOCTORANT_ID" NUMBER NOT NULL ENABLE, - "PERSOPASS" VARCHAR2(50 CHAR), - "EMAIL_PRO" VARCHAR2(100 CHAR), - "HISTO_CREATION" DATE DEFAULT SYSDATE NOT NULL ENABLE, - "HISTO_CREATEUR_ID" NUMBER NOT NULL ENABLE, - "HISTO_MODIFICATION" DATE DEFAULT SYSDATE NOT NULL ENABLE, - "HISTO_MODIFICATEUR_ID" NUMBER NOT NULL ENABLE, - "HISTO_DESTRUCTION" DATE, - "HISTO_DESTRUCTEUR_ID" NUMBER, - CONSTRAINT "THESARD_COMPL_PK" PRIMARY KEY ("ID") ENABLE - ) ; - CREATE TABLE /*"SYGAL".*/"DOMAINE_SCIENTIFIQUE" - ( "ID" NUMBER NOT NULL ENABLE, - "LIBELLE" VARCHAR2(128) NOT NULL ENABLE, - PRIMARY KEY ("ID") ENABLE - ) ; - CREATE TABLE /*"SYGAL".*/"ECOLE_DOCT" - ( "ID" NUMBER NOT NULL ENABLE, - "HISTO_CREATION" DATE DEFAULT SYSDATE NOT NULL ENABLE, - "HISTO_CREATEUR_ID" NUMBER NOT NULL ENABLE, - "HISTO_MODIFICATION" DATE DEFAULT SYSDATE NOT NULL ENABLE, - "HISTO_MODIFICATEUR_ID" NUMBER NOT NULL ENABLE, - "HISTO_DESTRUCTION" DATE, - "HISTO_DESTRUCTEUR_ID" NUMBER, - "SOURCE_ID" NUMBER NOT NULL ENABLE, - "SOURCE_CODE" VARCHAR2(64 CHAR) NOT NULL ENABLE, - "STRUCTURE_ID" NUMBER NOT NULL ENABLE, - CONSTRAINT "ECOLE_DOCT_PK" PRIMARY KEY ("ID") ENABLE - ) ; - CREATE TABLE /*"SYGAL".*/"ETABLISSEMENT" - ( "ID" NUMBER NOT NULL ENABLE, - "STRUCTURE_ID" NUMBER NOT NULL ENABLE, - "HISTO_CREATION" DATE DEFAULT sysdate NOT NULL ENABLE, - "HISTO_MODIFICATION" DATE DEFAULT SYSDATE NOT NULL ENABLE, - "HISTO_DESTRUCTION" DATE, - "HISTO_CREATEUR_ID" NUMBER NOT NULL ENABLE, - "HISTO_MODIFICATEUR_ID" NUMBER NOT NULL ENABLE, - "HISTO_DESTRUCTEUR_ID" NUMBER, - "DOMAINE" VARCHAR2(50), - "SOURCE_ID" NUMBER NOT NULL ENABLE, - "SOURCE_CODE" VARCHAR2(64 CHAR) NOT NULL ENABLE, - "EST_MEMBRE" NUMBER(1,0) DEFAULT 0 NOT NULL ENABLE, - "EST_ASSOCIE" NUMBER(1,0) DEFAULT 0 NOT NULL ENABLE, - "EST_COMUE" NUMBER(1,0) DEFAULT 0 NOT NULL ENABLE, - CONSTRAINT "ETAB_PK" PRIMARY KEY ("ID") ENABLE - ) ; - CREATE TABLE /*"SYGAL".*/"ETABLISSEMENT_RATTACH" - ( "ID" NUMBER NOT NULL ENABLE, - "UNITE_ID" NUMBER NOT NULL ENABLE, - "ETABLISSEMENT_ID" NUMBER NOT NULL ENABLE, - PRIMARY KEY ("ID") ENABLE - ) ; - CREATE TABLE /*"SYGAL".*/"FAQ" - ( "ID" NUMBER NOT NULL ENABLE, - "QUESTION" VARCHAR2(2000 CHAR) NOT NULL ENABLE, - "REPONSE" VARCHAR2(2000 CHAR) NOT NULL ENABLE, - "ORDRE" NUMBER, - CONSTRAINT "FAQ_PK" PRIMARY KEY ("ID") ENABLE - ) ; - CREATE TABLE /*"SYGAL".*/"FICHIER" - ( "ID" NUMBER NOT NULL ENABLE, - "UUID" VARCHAR2(60) NOT NULL ENABLE, - "NATURE_ID" NUMBER DEFAULT 1 NOT NULL ENABLE, - "NOM" VARCHAR2(255 CHAR) NOT NULL ENABLE, - "NOM_ORIGINAL" VARCHAR2(255 CHAR) DEFAULT NULL NOT NULL ENABLE, - "TYPE_MIME" VARCHAR2(128 CHAR) NOT NULL ENABLE, - "TAILLE" NUMBER NOT NULL ENABLE, - "DESCRIPTION" VARCHAR2(256 CHAR), - "VERSION_FICHIER_ID" NUMBER NOT NULL ENABLE, - "HISTO_CREATION" DATE DEFAULT SYSDATE NOT NULL ENABLE, - "HISTO_CREATEUR_ID" NUMBER NOT NULL ENABLE, - "HISTO_MODIFICATION" DATE DEFAULT SYSDATE NOT NULL ENABLE, - "HISTO_MODIFICATEUR_ID" NUMBER NOT NULL ENABLE, - "HISTO_DESTRUCTION" DATE, - "HISTO_DESTRUCTEUR_ID" NUMBER, - CONSTRAINT "FICHIER_PK_NEW" PRIMARY KEY ("ID") ENABLE - ) ; - CREATE TABLE /*"SYGAL".*/"FICHIER_THESE" - ( "ID" NUMBER NOT NULL ENABLE, - "FICHIER_ID" NUMBER NOT NULL ENABLE, - "THESE_ID" NUMBER NOT NULL ENABLE, - "EST_ANNEXE" NUMBER(1,0) DEFAULT 0 NOT NULL ENABLE, - "EST_EXPURGE" NUMBER(1,0) DEFAULT 0 NOT NULL ENABLE, - "EST_CONFORME" NUMBER(1,0), - "RETRAITEMENT" VARCHAR2(50 CHAR), - "EST_PARTIEL" NUMBER(1,0) DEFAULT 0 NOT NULL ENABLE, - CONSTRAINT "FICHIER_THESE_PK_NEW" PRIMARY KEY ("ID") ENABLE - ) ; - CREATE TABLE /*"SYGAL".*/"FINANCEMENT" - ( "ID" NUMBER NOT NULL ENABLE, - "SOURCE_ID" NUMBER NOT NULL ENABLE, - "THESE_ID" NUMBER, - "ANNEE" NUMBER NOT NULL ENABLE, - "ORIGINE_FINANCEMENT_ID" NUMBER NOT NULL ENABLE, - "COMPLEMENT_FINANCEMENT" VARCHAR2(256), - "QUOTITE_FINANCEMENT" VARCHAR2(8), - "DATE_DEBUT" DATE, - "DATE_FIN" DATE, - "SOURCE_CODE" VARCHAR2(64) DEFAULT NULL NOT NULL ENABLE, - "HISTO_CREATION" DATE DEFAULT SYSDATE NOT NULL ENABLE, - "HISTO_CREATEUR_ID" NUMBER NOT NULL ENABLE, - "HISTO_MODIFICATION" DATE DEFAULT SYSDATE NOT NULL ENABLE, - "HISTO_MODIFICATEUR_ID" NUMBER NOT NULL ENABLE, - "HISTO_DESTRUCTION" DATE, - "HISTO_DESTRUCTEUR_ID" NUMBER, - PRIMARY KEY ("ID") ENABLE - ) ; - CREATE TABLE /*"SYGAL".*/"IMPORT_NOTIF" - ( "ID" NUMBER NOT NULL ENABLE, - "TABLE_NAME" VARCHAR2(50 CHAR) NOT NULL ENABLE, - "COLUMN_NAME" VARCHAR2(50 CHAR) NOT NULL ENABLE, - "OPERATION" VARCHAR2(50 CHAR) DEFAULT 'UPDATE' NOT NULL ENABLE, - "TO_VALUE" VARCHAR2(1000 CHAR), - "DESCRIPTION" VARCHAR2(200 CHAR), - "URL" VARCHAR2(1000 CHAR) NOT NULL ENABLE, - CONSTRAINT "IMPORT_NOTIF_PK" PRIMARY KEY ("ID") ENABLE, - CONSTRAINT "IMPORT_NOTIF_UN" UNIQUE ("TABLE_NAME", "COLUMN_NAME", "OPERATION") ENABLE - ) ; - CREATE TABLE /*"SYGAL".*/"IMPORT_OBSERV" - ( "ID" NUMBER NOT NULL ENABLE, - "CODE" VARCHAR2(50 CHAR) NOT NULL ENABLE, - "TABLE_NAME" VARCHAR2(50 CHAR) NOT NULL ENABLE, - "COLUMN_NAME" VARCHAR2(50 CHAR) NOT NULL ENABLE, - "OPERATION" VARCHAR2(50 CHAR) DEFAULT 'UPDATE' NOT NULL ENABLE, - "TO_VALUE" VARCHAR2(1000 CHAR), - "DESCRIPTION" VARCHAR2(200 CHAR), - "ENABLED" NUMBER(1,0) DEFAULT 0 NOT NULL ENABLE, - CONSTRAINT "IMPORT_OBSERV_PK" PRIMARY KEY ("ID") ENABLE, - CONSTRAINT "IMPORT_OBSERV_CODE_UN" UNIQUE ("CODE") ENABLE, - CONSTRAINT "IMPORT_OBSERV_UN" UNIQUE ("TABLE_NAME", "COLUMN_NAME", "OPERATION", "TO_VALUE") ENABLE - ) ; - CREATE TABLE /*"SYGAL".*/"IMPORT_OBSERV_ETAB" - ( "ID" NUMBER NOT NULL ENABLE, - "IMPORT_OBSERV_ID" NUMBER NOT NULL ENABLE, - "ETABLISSEMENT_ID" NUMBER NOT NULL ENABLE, - "ENABLED" NUMBER(1,0) DEFAULT 0 NOT NULL ENABLE, - CONSTRAINT "IMPORT_OBSERV_ETAB_PK" PRIMARY KEY ("ID") ENABLE, - CONSTRAINT "IMPORT_OBSERV_ETAB_UN" UNIQUE ("IMPORT_OBSERV_ID", "ETABLISSEMENT_ID") ENABLE - ) ; - CREATE TABLE /*"SYGAL".*/"IMPORT_OBSERV_RESULT" - ( "ID" NUMBER NOT NULL ENABLE, - "IMPORT_OBSERV_ID" NUMBER NOT NULL ENABLE, - "DATE_CREATION" DATE DEFAULT SYSDATE NOT NULL ENABLE, - "SOURCE_CODE" VARCHAR2(64 CHAR) NOT NULL ENABLE, - "RESULTAT" CLOB NOT NULL ENABLE, - "DATE_NOTIF" DATE, - "IMPORT_OBSERV_ETAB_ID" NUMBER, - "TOO_OLD" NUMBER(1,0) DEFAULT 0 NOT NULL ENABLE, - CONSTRAINT "IMPORT_OBSERV_RESULT_PK" PRIMARY KEY ("ID") ENABLE - ) ; - CREATE TABLE /*"SYGAL".*/"IMPORT_OBS_NOTIF" - ( "ID" NUMBER NOT NULL ENABLE, - "IMPORT_OBSERV_ID" NUMBER NOT NULL ENABLE, - "NOTIF_ID" NUMBER NOT NULL ENABLE, - CONSTRAINT "IOND_PK" PRIMARY KEY ("ID") ENABLE - ) ; - CREATE TABLE /*"SYGAL".*/"IMPORT_OBS_RESULT_NOTIF" - ( "ID" NUMBER NOT NULL ENABLE, - "IMPORT_OBSERV_RESULT_ID" NUMBER NOT NULL ENABLE, - "NOTIF_RESULT_ID" NUMBER NOT NULL ENABLE, - CONSTRAINT "IORNR_PK" PRIMARY KEY ("ID") ENABLE - ) ; - CREATE TABLE /*"SYGAL".*/"INDICATEUR" - ( "ID" NUMBER NOT NULL ENABLE, - "LIBELLE" VARCHAR2(128) NOT NULL ENABLE, - "DESCRIPTION" VARCHAR2(1024), - "REQUETE" VARCHAR2(1024), - "ACTIF" NUMBER, - "DISPLAY_AS" VARCHAR2(128), - "CLASS" VARCHAR2(128), - PRIMARY KEY ("ID") ENABLE - ) ; - CREATE TABLE /*"SYGAL".*/"INDIVIDU" - ( "ID" NUMBER NOT NULL ENABLE, - "TYPE" VARCHAR2(32), - "CIVILITE" VARCHAR2(5 CHAR) DEFAULT NULL, - "NOM_USUEL" VARCHAR2(60 CHAR) NOT NULL ENABLE, - "NOM_PATRONYMIQUE" VARCHAR2(60 CHAR) DEFAULT NULL, - "PRENOM1" VARCHAR2(60 CHAR) NOT NULL ENABLE, - "PRENOM2" VARCHAR2(60 CHAR), - "PRENOM3" VARCHAR2(60 CHAR), - "EMAIL" VARCHAR2(255 CHAR), - "DATE_NAISSANCE" DATE DEFAULT NULL, - "NATIONALITE" VARCHAR2(128 CHAR), - "SOURCE_CODE" VARCHAR2(64 CHAR) NOT NULL ENABLE, - "SOURCE_ID" NUMBER NOT NULL ENABLE, - "HISTO_CREATEUR_ID" NUMBER NOT NULL ENABLE, - "HISTO_CREATION" DATE DEFAULT SYSDATE NOT NULL ENABLE, - "HISTO_MODIFICATEUR_ID" NUMBER NOT NULL ENABLE, - "HISTO_MODIFICATION" DATE DEFAULT SYSDATE NOT NULL ENABLE, - "HISTO_DESTRUCTEUR_ID" NUMBER, - "HISTO_DESTRUCTION" DATE, - "SUPANN_ID" VARCHAR2(30), - "ETABLISSEMENT_ID" NUMBER, - CONSTRAINT "INDIVIDU_PK" PRIMARY KEY ("ID") ENABLE - ) ; - CREATE TABLE /*"SYGAL".*/"INDIVIDU_RECH" - ( "ID" NUMBER NOT NULL ENABLE, - "HAYSTACK" CLOB, - CONSTRAINT "INDIVIDU_RECH_PK" PRIMARY KEY ("ID") ENABLE - ) ; - CREATE TABLE /*"SYGAL".*/"INDIVIDU_ROLE" - ( "ID" NUMBER NOT NULL ENABLE, - "INDIVIDU_ID" NUMBER, - "ROLE_ID" NUMBER, - CONSTRAINT "INDIVIDU_ROLE_PK" PRIMARY KEY ("ID") ENABLE - ) ; - CREATE TABLE /*"SYGAL".*/"INFORMATION" - ( "ID" NUMBER NOT NULL ENABLE, - "TITRE" VARCHAR2(256) NOT NULL ENABLE, - "HISTO_CREATION" DATE DEFAULT SYSDATE NOT NULL ENABLE, - "HISTO_CREATEUR_ID" NUMBER NOT NULL ENABLE, - "HISTO_MODIFICATION" DATE DEFAULT SYSDATE NOT NULL ENABLE, - "HISTO_MODIFICATEUR_ID" NUMBER NOT NULL ENABLE, - "HISTO_DESTRUCTION" DATE, - "HISTO_DESTRUCTEUR_ID" NUMBER, - "CONTENU" CLOB NOT NULL ENABLE, - "PRIORITE" NUMBER DEFAULT 0 NOT NULL ENABLE, - "EST_VISIBLE" NUMBER DEFAULT 1 NOT NULL ENABLE, - CONSTRAINT "INFORMATION_PK" PRIMARY KEY ("ID") ENABLE - ) ; - CREATE TABLE /*"SYGAL".*/"MAIL_CONFIRMATION" - ( "ID" NUMBER NOT NULL ENABLE, - "INDIVIDU_ID" NUMBER NOT NULL ENABLE, - "EMAIL" VARCHAR2(256) NOT NULL ENABLE, - "ETAT" VARCHAR2(1), - "CODE" VARCHAR2(19), - PRIMARY KEY ("ID") ENABLE - ) ; - CREATE TABLE /*"SYGAL".*/"METADONNEE_THESE" - ( "ID" NUMBER NOT NULL ENABLE, - "THESE_ID" NUMBER NOT NULL ENABLE, - "TITRE" VARCHAR2(2048 CHAR) NOT NULL ENABLE, - "LANGUE" VARCHAR2(40 CHAR) NOT NULL ENABLE, - "RESUME" CLOB DEFAULT NULL NOT NULL ENABLE, - "RESUME_ANGLAIS" CLOB DEFAULT NULL NOT NULL ENABLE, - "MOTS_CLES_LIBRES_FR" VARCHAR2(1024 CHAR) NOT NULL ENABLE, - "MOTS_CLES_RAMEAU" VARCHAR2(1024 CHAR), - "TITRE_AUTRE_LANGUE" VARCHAR2(2048 CHAR) NOT NULL ENABLE, - "MOTS_CLES_LIBRES_ANG" VARCHAR2(1024 CHAR), - CONSTRAINT "METADONNEE_THESE_PK" PRIMARY KEY ("ID") ENABLE - ) ; - CREATE TABLE /*"SYGAL".*/"NATURE_FICHIER" - ( "ID" NUMBER NOT NULL ENABLE, - "CODE" VARCHAR2(50 CHAR) DEFAULT NULL NOT NULL ENABLE, - "LIBELLE" VARCHAR2(100 CHAR) DEFAULT NULL, - PRIMARY KEY ("ID") ENABLE - ) ; - CREATE TABLE /*"SYGAL".*/"NOTIF" - ( "ID" NUMBER NOT NULL ENABLE, - "CODE" VARCHAR2(100) NOT NULL ENABLE, - "DESCRIPTION" VARCHAR2(255) NOT NULL ENABLE, - "RECIPIENTS" VARCHAR2(500) DEFAULT NULL, - "TEMPLATE" CLOB NOT NULL ENABLE, - "ENABLED" NUMBER DEFAULT 1 NOT NULL ENABLE, - CONSTRAINT "NOTIF_PK" PRIMARY KEY ("ID") ENABLE, - CONSTRAINT "NOTIF_UNIQ" UNIQUE ("CODE") ENABLE - ) ; - CREATE TABLE /*"SYGAL".*/"NOTIF_RESULT" - ( "ID" NUMBER NOT NULL ENABLE, - "NOTIF_ID" NUMBER NOT NULL ENABLE, - "SUBJECT" VARCHAR2(255) NOT NULL ENABLE, - "BODY" CLOB NOT NULL ENABLE, - "SENT_ON" DATE NOT NULL ENABLE, - "ERROR" CLOB, - CONSTRAINT "NOTIF_RESULT_PK" PRIMARY KEY ("ID") ENABLE - ) ; - CREATE TABLE /*"SYGAL".*/"ORIGINE_FINANCEMENT" - ( "ID" NUMBER NOT NULL ENABLE, - "CODE" VARCHAR2(64) NOT NULL ENABLE, - "LIBELLE_LONG" VARCHAR2(256) NOT NULL ENABLE, - "SOURCE_ID" NUMBER, - "LIBELLE_COURT" VARCHAR2(64), - "SOURCE_CODE" VARCHAR2(64) NOT NULL ENABLE, - "HISTO_CREATION" DATE DEFAULT SYSDATE NOT NULL ENABLE, - "HISTO_CREATEUR_ID" NUMBER NOT NULL ENABLE, - "HISTO_MODIFICATION" DATE DEFAULT SYSDATE NOT NULL ENABLE, - "HISTO_MODIFICATEUR_ID" NUMBER NOT NULL ENABLE, - "HISTO_DESTRUCTION" DATE, - "HISTO_DESTRUCTEUR_ID" NUMBER, - PRIMARY KEY ("ID") ENABLE - ) ; - CREATE TABLE /*"SYGAL".*/"PARAMETRE" - ( "ID" VARCHAR2(256) NOT NULL ENABLE, - "DESCRIPTION" VARCHAR2(256) NOT NULL ENABLE, - "VALEUR" VARCHAR2(256) NOT NULL ENABLE, - CONSTRAINT "PARAMETRE_PK" PRIMARY KEY ("ID") ENABLE - ) ; - CREATE TABLE /*"SYGAL".*/"PRIVILEGE" - ( "ID" NUMBER NOT NULL ENABLE, - "CATEGORIE_ID" NUMBER NOT NULL ENABLE, - "CODE" VARCHAR2(150 CHAR) NOT NULL ENABLE, - "LIBELLE" VARCHAR2(200 CHAR) NOT NULL ENABLE, - "ORDRE" NUMBER, - PRIMARY KEY ("ID") ENABLE - ) ; - CREATE TABLE /*"SYGAL".*/"PROFIL" - ( "ID" NUMBER NOT NULL ENABLE, - "LIBELLE" VARCHAR2(100) NOT NULL ENABLE, - "ROLE_ID" VARCHAR2(100) NOT NULL ENABLE, - "STRUCTURE_TYPE" NUMBER DEFAULT NULL, - "DESCRIPTION" VARCHAR2(1024), - PRIMARY KEY ("ID") ENABLE - ) ; - CREATE TABLE /*"SYGAL".*/"PROFIL_PRIVILEGE" - ( "PRIVILEGE_ID" NUMBER NOT NULL ENABLE, - "PROFIL_ID" NUMBER, - CONSTRAINT "PROFIL_PRIVILEGE_PK" PRIMARY KEY ("PROFIL_ID", "PRIVILEGE_ID") ENABLE - ) ; - CREATE TABLE /*"SYGAL".*/"PROFIL_TO_ROLE" - ( "PROFIL_ID" NUMBER(*,0) NOT NULL ENABLE, - "ROLE_ID" NUMBER(*,0) NOT NULL ENABLE, - CONSTRAINT "PROFIL_TO_ROLE_PK" PRIMARY KEY ("PROFIL_ID", "ROLE_ID") ENABLE - ) ; - CREATE TABLE /*"SYGAL".*/"RDV_BU" - ( "ID" NUMBER NOT NULL ENABLE, - "THESE_ID" NUMBER NOT NULL ENABLE, - "COORD_DOCTORANT" VARCHAR2(2000 CHAR), - "DISPO_DOCTORANT" VARCHAR2(2000 CHAR), - "MOTS_CLES_RAMEAU" VARCHAR2(1024 CHAR), - "CONVENTION_MEL_SIGNEE" NUMBER(1,0) DEFAULT 0 NOT NULL ENABLE, - "EXEMPL_PAPIER_FOURNI" NUMBER(1,0) DEFAULT null, - "VERSION_ARCHIVABLE_FOURNIE" NUMBER(1,0) DEFAULT 0 NOT NULL ENABLE, - "DIVERS" CLOB, - "HISTO_CREATION" DATE DEFAULT SYSDATE NOT NULL ENABLE, - "HISTO_CREATEUR_ID" NUMBER NOT NULL ENABLE, - "HISTO_MODIFICATION" DATE DEFAULT SYSDATE NOT NULL ENABLE, - "HISTO_MODIFICATEUR_ID" NUMBER NOT NULL ENABLE, - "HISTO_DESTRUCTION" DATE, - "HISTO_DESTRUCTEUR_ID" NUMBER, - CONSTRAINT "RDV_BU_PK" PRIMARY KEY ("ID") ENABLE - ) ; - CREATE TABLE /*"SYGAL".*/"ROLE" - ( "ID" NUMBER NOT NULL ENABLE, - "CODE" VARCHAR2(50 CHAR) NOT NULL ENABLE, - "LIBELLE" VARCHAR2(200 CHAR) NOT NULL ENABLE, - "SOURCE_CODE" VARCHAR2(64 CHAR) NOT NULL ENABLE, - "SOURCE_ID" NUMBER NOT NULL ENABLE, - "ROLE_ID" VARCHAR2(64 CHAR) NOT NULL ENABLE, - "IS_DEFAULT" NUMBER DEFAULT 0, - "LDAP_FILTER" VARCHAR2(255 CHAR), - "ATTRIB_AUTO" NUMBER(1,0) DEFAULT 0 NOT NULL ENABLE, - "THESE_DEP" NUMBER(1,0) DEFAULT 0 NOT NULL ENABLE, - "HISTO_CREATEUR_ID" NUMBER NOT NULL ENABLE, - "HISTO_CREATION" DATE DEFAULT SYSDATE NOT NULL ENABLE, - "HISTO_MODIFICATEUR_ID" NUMBER NOT NULL ENABLE, - "HISTO_MODIFICATION" DATE DEFAULT SYSDATE NOT NULL ENABLE, - "HISTO_DESTRUCTEUR_ID" NUMBER, - "HISTO_DESTRUCTION" DATE, - "STRUCTURE_ID" NUMBER, - "TYPE_STRUCTURE_DEPENDANT_ID" NUMBER, - "ORDRE_AFFICHAGE" VARCHAR2(32) DEFAULT 'zzz' NOT NULL ENABLE, - CONSTRAINT "ROLE_PK" PRIMARY KEY ("ID") ENABLE - ) ; - CREATE TABLE /*"SYGAL".*/"ROLE_PRIVILEGE" - ( "ROLE_ID" NUMBER NOT NULL ENABLE, - "PRIVILEGE_ID" NUMBER NOT NULL ENABLE, - CONSTRAINT "ROLE_PRIVILEGE_PK" PRIMARY KEY ("ROLE_ID", "PRIVILEGE_ID") ENABLE - ) ; - CREATE TABLE /*"SYGAL".*/"SOURCE" - ( "ID" NUMBER NOT NULL ENABLE, - "CODE" VARCHAR2(64 CHAR) NOT NULL ENABLE, - "LIBELLE" VARCHAR2(128 CHAR) NOT NULL ENABLE, - "IMPORTABLE" NUMBER(1,0) NOT NULL ENABLE, - "ETABLISSEMENT_ID" NUMBER, - CONSTRAINT "SOURCE_PK" PRIMARY KEY ("ID") ENABLE, - CONSTRAINT "SOURCE_CODE_UN" UNIQUE ("CODE") ENABLE - ) ; - CREATE TABLE /*"SYGAL".*/"STRUCTURE" - ( "ID" NUMBER NOT NULL ENABLE, - "SIGLE" VARCHAR2(40 CHAR), - "LIBELLE" VARCHAR2(300 CHAR) DEFAULT NULL NOT NULL ENABLE, - "CHEMIN_LOGO" VARCHAR2(200 CHAR), - "TYPE_STRUCTURE_ID" NUMBER, - "HISTO_CREATION" DATE DEFAULT SYSDATE NOT NULL ENABLE, - "HISTO_CREATEUR_ID" NUMBER NOT NULL ENABLE, - "HISTO_MODIFICATION" DATE DEFAULT SYSDATE NOT NULL ENABLE, - "HISTO_MODIFICATEUR_ID" NUMBER NOT NULL ENABLE, - "HISTO_DESTRUCTION" DATE, - "HISTO_DESTRUCTEUR_ID" NUMBER, - "SOURCE_ID" NUMBER NOT NULL ENABLE, - "SOURCE_CODE" VARCHAR2(64 CHAR) NOT NULL ENABLE, - "CODE" VARCHAR2(64) DEFAULT NULL NOT NULL ENABLE, - "EST_FERME" NUMBER(1,0) DEFAULT 0, - CONSTRAINT "STRUCTURE_PK" PRIMARY KEY ("ID") ENABLE - ) ; - CREATE TABLE /*"SYGAL".*/"STRUCTURE_SUBSTIT" - ( "ID" NUMBER NOT NULL ENABLE, - "FROM_STRUCTURE_ID" NUMBER NOT NULL ENABLE, - "TO_STRUCTURE_ID" NUMBER NOT NULL ENABLE, - "HISTO_CREATION" DATE DEFAULT SYSDATE NOT NULL ENABLE, - "HISTO_MODIFICATION" DATE DEFAULT SYSDATE NOT NULL ENABLE, - "HISTO_DESTRUCTION" DATE, - "HISTO_CREATEUR_ID" NUMBER, - "HISTO_MODIFICATEUR_ID" NUMBER, - "HISTO_DESTRUCTEUR_ID" NUMBER, - CONSTRAINT "STR_SUBSTIT_PK" PRIMARY KEY ("ID") ENABLE - ) ; - CREATE TABLE /*"SYGAL".*/"SYNCHRO_LOG" - ( "ID" NUMBER NOT NULL ENABLE, - "LOG_DATE" DATE DEFAULT sysdate NOT NULL ENABLE, - "START_DATE" DATE NOT NULL ENABLE, - "FINISH_DATE" DATE NOT NULL ENABLE, - "STATUS" VARCHAR2(50) NOT NULL ENABLE, - "SQL" CLOB NOT NULL ENABLE, - "MESSAGE" CLOB, - CONSTRAINT "SYNCHRO_LOG_PK" PRIMARY KEY ("ID") ENABLE - ) ; - CREATE TABLE /*"SYGAL".*/"SYNC_LOG" - ( "ID" NUMBER NOT NULL ENABLE, - "DATE_SYNC" TIMESTAMP (6) NOT NULL ENABLE, - "MESSAGE" CLOB NOT NULL ENABLE, - "TABLE_NAME" VARCHAR2(30 CHAR), - "SOURCE_CODE" VARCHAR2(200 CHAR), - CONSTRAINT "SYNC_LOG_PK" PRIMARY KEY ("ID") ENABLE - ) ; - CREATE TABLE /*"SYGAL".*/"THESE" - ( "ID" NUMBER NOT NULL ENABLE, - "ETABLISSEMENT_ID" NUMBER DEFAULT 2, - "DOCTORANT_ID" NUMBER DEFAULT NULL NOT NULL ENABLE, - "ECOLE_DOCT_ID" NUMBER, - "UNITE_RECH_ID" NUMBER, - "BESOIN_EXPURGE" NUMBER(1,0) DEFAULT 0 NOT NULL ENABLE, - "COD_UNIT_RECH" VARCHAR2(50 CHAR), - "CORREC_AUTORISEE" VARCHAR2(30 CHAR) DEFAULT NULL, - "DATE_AUTORIS_SOUTENANCE" DATE, - "DATE_FIN_CONFID" DATE, - "DATE_PREM_INSC" DATE, - "DATE_PREV_SOUTENANCE" DATE, - "DATE_SOUTENANCE" DATE, - "ETAT_THESE" VARCHAR2(20 CHAR), - "LIB_DISC" VARCHAR2(200 CHAR), - "LIB_ETAB_COTUT" VARCHAR2(60 CHAR), - "LIB_PAYS_COTUT" VARCHAR2(40 CHAR), - "LIB_UNIT_RECH" VARCHAR2(200 CHAR), - "RESULTAT" NUMBER(1,0), - "SOUTENANCE_AUTORIS" VARCHAR2(1 CHAR), - "TEM_AVENANT_COTUT" VARCHAR2(1 CHAR), - "TITRE" VARCHAR2(2048 CHAR), - "SOURCE_CODE" VARCHAR2(64 CHAR) NOT NULL ENABLE, - "SOURCE_ID" NUMBER NOT NULL ENABLE, - "HISTO_CREATEUR_ID" NUMBER NOT NULL ENABLE, - "HISTO_CREATION" DATE DEFAULT SYSDATE NOT NULL ENABLE, - "HISTO_MODIFICATEUR_ID" NUMBER NOT NULL ENABLE, - "HISTO_MODIFICATION" DATE DEFAULT SYSDATE NOT NULL ENABLE, - "HISTO_DESTRUCTEUR_ID" NUMBER, - "HISTO_DESTRUCTION" DATE, - "CORREC_AUTORISEE_FORCEE" VARCHAR2(30), - "ANNEE_UNIV_1ERE_INSC" NUMBER(*,0), - "DATE_ABANDON" DATE, - "DATE_TRANSFERT" DATE, - CONSTRAINT "THESE_PK" PRIMARY KEY ("ID") ENABLE - ) ; - CREATE TABLE /*"SYGAL".*/"THESE_ANNEE_UNIV" - ( "ID" NUMBER NOT NULL ENABLE, - "SOURCE_CODE" VARCHAR2(64 CHAR) NOT NULL ENABLE, - "SOURCE_ID" NUMBER NOT NULL ENABLE, - "THESE_ID" NUMBER, - "ANNEE_UNIV" NUMBER(*,0), - "HISTO_CREATEUR_ID" NUMBER NOT NULL ENABLE, - "HISTO_CREATION" DATE DEFAULT SYSDATE NOT NULL ENABLE, - "HISTO_MODIFICATEUR_ID" NUMBER NOT NULL ENABLE, - "HISTO_MODIFICATION" DATE DEFAULT SYSDATE NOT NULL ENABLE, - "HISTO_DESTRUCTEUR_ID" NUMBER, - "HISTO_DESTRUCTION" DATE, - CONSTRAINT "THESE_ANNEE_UNIV_PK" PRIMARY KEY ("ID") ENABLE - ) ; - CREATE TABLE /*"SYGAL".*/"TITRE_ACCES" - ( "ID" NUMBER NOT NULL ENABLE, - "SOURCE_CODE" VARCHAR2(64 CHAR) NOT NULL ENABLE, - "SOURCE_ID" NUMBER NOT NULL ENABLE, - "THESE_ID" NUMBER, - "TITRE_ACCES_INTERNE_EXTERNE" VARCHAR2(1), - "LIBELLE_TITRE_ACCES" VARCHAR2(200), - "TYPE_ETB_TITRE_ACCES" VARCHAR2(50), - "LIBELLE_ETB_TITRE_ACCES" VARCHAR2(200), - "CODE_DEPT_TITRE_ACCES" VARCHAR2(20), - "CODE_PAYS_TITRE_ACCES" VARCHAR2(20), - "HISTO_CREATEUR_ID" NUMBER NOT NULL ENABLE, - "HISTO_CREATION" DATE DEFAULT SYSDATE NOT NULL ENABLE, - "HISTO_MODIFICATEUR_ID" NUMBER NOT NULL ENABLE, - "HISTO_MODIFICATION" DATE DEFAULT SYSDATE NOT NULL ENABLE, - "HISTO_DESTRUCTEUR_ID" NUMBER, - "HISTO_DESTRUCTION" DATE, - CONSTRAINT "TITRE_ACCES_PK" PRIMARY KEY ("ID") ENABLE - ) ; - CREATE TABLE /*"SYGAL".*/"TMP_ACTEUR" - ( "INSERT_DATE" DATE DEFAULT sysdate, - "ID" VARCHAR2(64), - "ETABLISSEMENT_ID" VARCHAR2(64 CHAR) NOT NULL ENABLE, - "SOURCE_ID" VARCHAR2(64 CHAR) NOT NULL ENABLE, - "SOURCE_CODE" VARCHAR2(64) NOT NULL ENABLE, - "INDIVIDU_ID" VARCHAR2(64 CHAR) NOT NULL ENABLE, - "THESE_ID" VARCHAR2(64 CHAR) NOT NULL ENABLE, - "ROLE_ID" VARCHAR2(64 CHAR) NOT NULL ENABLE, - "LIB_CPS" VARCHAR2(200 CHAR), - "COD_CPS" VARCHAR2(50 CHAR), - "COD_ROJ_COMPL" VARCHAR2(50 CHAR), - "LIB_ROJ_COMPL" VARCHAR2(200 CHAR), - "TEM_HAB_RCH_PER" VARCHAR2(1 CHAR), - "TEM_RAP_RECU" VARCHAR2(1 CHAR), - "ACTEUR_ETABLISSEMENT_ID" VARCHAR2(64 CHAR), - "SOURCE_INSERT_DATE" DATE DEFAULT sysdate - ) ; - CREATE TABLE /*"SYGAL".*/"TMP_DOCTORANT" - ( "INSERT_DATE" DATE DEFAULT sysdate, - "ID" VARCHAR2(64), - "ETABLISSEMENT_ID" VARCHAR2(64 CHAR) NOT NULL ENABLE, - "SOURCE_ID" VARCHAR2(64 CHAR) NOT NULL ENABLE, - "SOURCE_CODE" VARCHAR2(64) NOT NULL ENABLE, - "INDIVIDU_ID" VARCHAR2(64 CHAR) NOT NULL ENABLE, - "INE" VARCHAR2(64), - "SOURCE_INSERT_DATE" DATE DEFAULT sysdate - ) ; - CREATE TABLE /*"SYGAL".*/"TMP_ECOLE_DOCT" - ( "INSERT_DATE" DATE DEFAULT sysdate, - "ID" VARCHAR2(64), - "ETABLISSEMENT_ID" VARCHAR2(64) NOT NULL ENABLE, - "STRUCTURE_ID" VARCHAR2(64 CHAR) NOT NULL ENABLE, - "SOURCE_ID" VARCHAR2(64 CHAR) NOT NULL ENABLE, - "SOURCE_CODE" VARCHAR2(64) NOT NULL ENABLE, - "SOURCE_INSERT_DATE" DATE DEFAULT sysdate - ) ; - CREATE TABLE /*"SYGAL".*/"TMP_ETABLISSEMENT" - ( "INSERT_DATE" DATE DEFAULT sysdate, - "ID" VARCHAR2(64), - "ETABLISSEMENT_ID" VARCHAR2(64) NOT NULL ENABLE, - "STRUCTURE_ID" VARCHAR2(64 CHAR) NOT NULL ENABLE, - "SOURCE_ID" VARCHAR2(64 CHAR) NOT NULL ENABLE, - "SOURCE_CODE" VARCHAR2(64) NOT NULL ENABLE, - "SOURCE_INSERT_DATE" DATE DEFAULT sysdate - ) ; - CREATE TABLE /*"SYGAL".*/"TMP_FINANCEMENT" - ( "INSERT_DATE" DATE DEFAULT sysdate, - "ID" VARCHAR2(64), - "ETABLISSEMENT_ID" VARCHAR2(64 CHAR) NOT NULL ENABLE, - "SOURCE_ID" VARCHAR2(64 CHAR) NOT NULL ENABLE, - "SOURCE_CODE" VARCHAR2(64) NOT NULL ENABLE, - "THESE_ID" VARCHAR2(50) NOT NULL ENABLE, - "ANNEE" VARCHAR2(50) NOT NULL ENABLE, - "ORIGINE_FINANCEMENT_ID" VARCHAR2(50) NOT NULL ENABLE, - "COMPLEMENT_FINANCEMENT" VARCHAR2(200), - "QUOTITE_FINANCEMENT" VARCHAR2(50), - "DATE_DEBUT_FINANCEMENT" DATE, - "DATE_FIN_FINANCEMENT" DATE, - "SOURCE_INSERT_DATE" DATE DEFAULT sysdate - ) ; - CREATE TABLE /*"SYGAL".*/"TMP_INDIVIDU" - ( "INSERT_DATE" DATE DEFAULT sysdate, - "ID" VARCHAR2(64), - "ETABLISSEMENT_ID" VARCHAR2(64 CHAR) NOT NULL ENABLE, - "SOURCE_ID" VARCHAR2(64 CHAR) NOT NULL ENABLE, - "SOURCE_CODE" VARCHAR2(64) NOT NULL ENABLE, - "TYPE" VARCHAR2(32), - "CIV" VARCHAR2(5), - "LIB_NOM_USU_IND" VARCHAR2(60 CHAR) NOT NULL ENABLE, - "LIB_NOM_PAT_IND" VARCHAR2(60 CHAR) NOT NULL ENABLE, - "LIB_PR1_IND" VARCHAR2(60 CHAR) NOT NULL ENABLE, - "LIB_PR2_IND" VARCHAR2(60 CHAR), - "LIB_PR3_IND" VARCHAR2(60 CHAR), - "EMAIL" VARCHAR2(255 CHAR), - "DAT_NAI_PER" DATE, - "LIB_NAT" VARCHAR2(128 CHAR), - "SUPANN_ID" VARCHAR2(30), - "SOURCE_INSERT_DATE" DATE DEFAULT sysdate - ) ; - CREATE TABLE /*"SYGAL".*/"TMP_ORIGINE_FINANCEMENT" - ( "INSERT_DATE" DATE DEFAULT sysdate, - "ID" VARCHAR2(64), - "ETABLISSEMENT_ID" VARCHAR2(64 CHAR) NOT NULL ENABLE, - "SOURCE_ID" VARCHAR2(64 CHAR) NOT NULL ENABLE, - "SOURCE_CODE" VARCHAR2(64) NOT NULL ENABLE, - "COD_OFI" VARCHAR2(50) NOT NULL ENABLE, - "LIC_OFI" VARCHAR2(50) NOT NULL ENABLE, - "LIB_OFI" VARCHAR2(200) NOT NULL ENABLE, - "SOURCE_INSERT_DATE" DATE DEFAULT sysdate - ) ; - CREATE TABLE /*"SYGAL".*/"TMP_ROLE" - ( "INSERT_DATE" DATE DEFAULT sysdate, - "ID" VARCHAR2(64), - "ETABLISSEMENT_ID" VARCHAR2(64 CHAR) NOT NULL ENABLE, - "SOURCE_ID" VARCHAR2(64 CHAR) NOT NULL ENABLE, - "SOURCE_CODE" VARCHAR2(64) NOT NULL ENABLE, - "LIB_ROJ" VARCHAR2(200 CHAR), - "LIC_ROJ" VARCHAR2(50 CHAR), - "SOURCE_INSERT_DATE" DATE DEFAULT sysdate - ) ; - CREATE TABLE /*"SYGAL".*/"TMP_STRUCTURE" - ( "INSERT_DATE" DATE DEFAULT sysdate, - "ID" VARCHAR2(64), - "ETABLISSEMENT_ID" VARCHAR2(64) NOT NULL ENABLE, - "SOURCE_ID" VARCHAR2(64 CHAR) NOT NULL ENABLE, - "SOURCE_CODE" VARCHAR2(64) NOT NULL ENABLE, - "TYPE_STRUCTURE_ID" VARCHAR2(64) NOT NULL ENABLE, - "SIGLE" VARCHAR2(64), - "LIBELLE" VARCHAR2(200) NOT NULL ENABLE, - "CODE_PAYS" VARCHAR2(64), - "LIBELLE_PAYS" VARCHAR2(200), - "CODE" VARCHAR2(64), - "SOURCE_INSERT_DATE" DATE DEFAULT sysdate - ) ; - CREATE TABLE /*"SYGAL".*/"TMP_THESE" - ( "INSERT_DATE" DATE DEFAULT sysdate, - "ID" VARCHAR2(64), - "ETABLISSEMENT_ID" VARCHAR2(64 CHAR) NOT NULL ENABLE, - "SOURCE_ID" VARCHAR2(64 CHAR) NOT NULL ENABLE, - "SOURCE_CODE" VARCHAR2(64) NOT NULL ENABLE, - "DOCTORANT_ID" VARCHAR2(64 CHAR) NOT NULL ENABLE, - "ECOLE_DOCT_ID" VARCHAR2(64 CHAR), - "UNITE_RECH_ID" VARCHAR2(64 CHAR), - "CORRECTION_POSSIBLE" VARCHAR2(30 CHAR), - "DAT_AUT_SOU_THS" DATE, - "DAT_FIN_CFD_THS" DATE, - "DAT_DEB_THS" DATE, - "DAT_PREV_SOU" DATE, - "DAT_SOU_THS" DATE, - "ETA_THS" VARCHAR2(20 CHAR), - "LIB_INT1_DIS" VARCHAR2(200 CHAR), - "LIB_ETAB_COTUT" VARCHAR2(60 CHAR), - "LIB_PAYS_COTUT" VARCHAR2(40 CHAR), - "COD_NEG_TRE" VARCHAR2(1 CHAR), - "TEM_SOU_AUT_THS" VARCHAR2(1 CHAR), - "TEM_AVENANT_COTUT" VARCHAR2(1 CHAR), - "LIB_THS" VARCHAR2(2048 CHAR), - "ANNEE_UNIV_1ERE_INSC" NUMBER(*,0), - "DAT_ABANDON" DATE, - "DAT_TRANSFERT_DEP" DATE, - "SOURCE_INSERT_DATE" DATE DEFAULT sysdate - ) ; - CREATE TABLE /*"SYGAL".*/"TMP_THESE_ANNEE_UNIV" - ( "INSERT_DATE" DATE DEFAULT sysdate, - "ID" VARCHAR2(64), - "ETABLISSEMENT_ID" VARCHAR2(64 CHAR) NOT NULL ENABLE, - "SOURCE_ID" VARCHAR2(64 CHAR) NOT NULL ENABLE, - "SOURCE_CODE" VARCHAR2(64) NOT NULL ENABLE, - "THESE_ID" VARCHAR2(50) NOT NULL ENABLE, - "ANNEE_UNIV" NUMBER(*,0), - "SOURCE_INSERT_DATE" DATE DEFAULT sysdate - ) ; - CREATE TABLE /*"SYGAL".*/"TMP_TITRE_ACCES" - ( "INSERT_DATE" DATE DEFAULT sysdate, - "ID" VARCHAR2(64), - "ETABLISSEMENT_ID" VARCHAR2(64 CHAR) NOT NULL ENABLE, - "SOURCE_ID" VARCHAR2(64 CHAR) NOT NULL ENABLE, - "SOURCE_CODE" VARCHAR2(64) NOT NULL ENABLE, - "THESE_ID" VARCHAR2(50) NOT NULL ENABLE, - "TITRE_ACCES_INTERNE_EXTERNE" VARCHAR2(1), - "LIBELLE_TITRE_ACCES" VARCHAR2(200), - "TYPE_ETB_TITRE_ACCES" VARCHAR2(50), - "LIBELLE_ETB_TITRE_ACCES" VARCHAR2(200), - "CODE_DEPT_TITRE_ACCES" VARCHAR2(20), - "CODE_PAYS_TITRE_ACCES" VARCHAR2(20), - "SOURCE_INSERT_DATE" DATE DEFAULT sysdate - ) ; - CREATE TABLE /*"SYGAL".*/"TMP_UNITE_RECH" - ( "INSERT_DATE" DATE DEFAULT sysdate, - "ID" VARCHAR2(64), - "ETABLISSEMENT_ID" VARCHAR2(64) NOT NULL ENABLE, - "STRUCTURE_ID" VARCHAR2(64 CHAR) NOT NULL ENABLE, - "SOURCE_ID" VARCHAR2(64 CHAR) NOT NULL ENABLE, - "SOURCE_CODE" VARCHAR2(64) NOT NULL ENABLE, - "SOURCE_INSERT_DATE" DATE DEFAULT sysdate - ) ; - CREATE TABLE /*"SYGAL".*/"TMP_VARIABLE" - ( "INSERT_DATE" DATE DEFAULT sysdate, - "ID" VARCHAR2(64), - "ETABLISSEMENT_ID" VARCHAR2(64 CHAR) NOT NULL ENABLE, - "SOURCE_ID" VARCHAR2(64 CHAR) NOT NULL ENABLE, - "SOURCE_CODE" VARCHAR2(64) NOT NULL ENABLE, - "COD_VAP" VARCHAR2(50 CHAR), - "LIB_VAP" VARCHAR2(300 CHAR), - "PAR_VAP" VARCHAR2(200 CHAR), - "DATE_DEB_VALIDITE" DATE DEFAULT NULL NOT NULL ENABLE, - "DATE_FIN_VALIDITE" DATE DEFAULT NULL NOT NULL ENABLE, - "SOURCE_INSERT_DATE" DATE DEFAULT sysdate - ) ; - CREATE TABLE /*"SYGAL".*/"TYPE_STRUCTURE" - ( "ID" NUMBER NOT NULL ENABLE, - "CODE" VARCHAR2(50 CHAR) NOT NULL ENABLE, - "LIBELLE" VARCHAR2(100 CHAR), - CONSTRAINT "TYPE_STRUCTURE_PK" PRIMARY KEY ("ID") ENABLE - ) ; - CREATE TABLE /*"SYGAL".*/"TYPE_VALIDATION" - ( "ID" NUMBER NOT NULL ENABLE, - "CODE" VARCHAR2(50 CHAR) NOT NULL ENABLE, - "LIBELLE" VARCHAR2(100 CHAR), - CONSTRAINT "TYPE_VALIDATION_PK" PRIMARY KEY ("ID") ENABLE - ) ; - CREATE TABLE /*"SYGAL".*/"UNITE_DOMAINE_LINKER" - ( "UNITE_ID" NUMBER NOT NULL ENABLE, - "DOMAINE_ID" NUMBER NOT NULL ENABLE, - CONSTRAINT "SYS_C0010859" PRIMARY KEY ("UNITE_ID", "DOMAINE_ID") ENABLE - ) ; - CREATE TABLE /*"SYGAL".*/"UNITE_RECH" - ( "ID" NUMBER NOT NULL ENABLE, - "ETAB_SUPPORT" VARCHAR2(500 CHAR), - "AUTRES_ETAB" VARCHAR2(500 CHAR), - "SOURCE_ID" NUMBER NOT NULL ENABLE, - "SOURCE_CODE" VARCHAR2(64 CHAR) NOT NULL ENABLE, - "HISTO_CREATION" DATE DEFAULT SYSDATE NOT NULL ENABLE, - "HISTO_CREATEUR_ID" NUMBER NOT NULL ENABLE, - "HISTO_MODIFICATION" DATE DEFAULT SYSDATE NOT NULL ENABLE, - "HISTO_MODIFICATEUR_ID" NUMBER NOT NULL ENABLE, - "HISTO_DESTRUCTION" DATE, - "HISTO_DESTRUCTEUR_ID" NUMBER, - "STRUCTURE_ID" NUMBER NOT NULL ENABLE, - "RNSR_ID" VARCHAR2(128), - CONSTRAINT "UNITE_RECH_PK" PRIMARY KEY ("ID") ENABLE - ) ; - CREATE TABLE /*"SYGAL".*/"UTILISATEUR" - ( "ID" NUMBER NOT NULL ENABLE, - "USERNAME" VARCHAR2(255 CHAR), - "EMAIL" VARCHAR2(255 CHAR), - "DISPLAY_NAME" VARCHAR2(100 CHAR), - "PASSWORD" VARCHAR2(128 CHAR) NOT NULL ENABLE, - "STATE" NUMBER DEFAULT 1 NOT NULL ENABLE, - "LAST_ROLE_ID" NUMBER, - "INDIVIDU_ID" NUMBER, - "PASSWORD_RESET_TOKEN" VARCHAR2(256) DEFAULT null, - CONSTRAINT "UTILISATEUR_PK" PRIMARY KEY ("ID") ENABLE, - CONSTRAINT "UTILISATEUR_USERNAME_UN" UNIQUE ("USERNAME") ENABLE - ) ; - CREATE TABLE /*"SYGAL".*/"VALIDATION" - ( "ID" NUMBER NOT NULL ENABLE, - "TYPE_VALIDATION_ID" NUMBER NOT NULL ENABLE, - "THESE_ID" NUMBER NOT NULL ENABLE, - "INDIVIDU_ID" NUMBER DEFAULT NULL, - "HISTO_CREATION" DATE DEFAULT SYSDATE NOT NULL ENABLE, - "HISTO_CREATEUR_ID" NUMBER DEFAULT 1 NOT NULL ENABLE, - "HISTO_MODIFICATION" DATE DEFAULT SYSDATE NOT NULL ENABLE, - "HISTO_MODIFICATEUR_ID" NUMBER DEFAULT 1 NOT NULL ENABLE, - "HISTO_DESTRUCTION" DATE, - "HISTO_DESTRUCTEUR_ID" NUMBER, - CONSTRAINT "VALIDATION_PK" PRIMARY KEY ("ID") ENABLE - ) ; - CREATE TABLE /*"SYGAL".*/"VALIDITE_FICHIER" - ( "ID" NUMBER NOT NULL ENABLE, - "FICHIER_ID" NUMBER NOT NULL ENABLE, - "EST_VALIDE" VARCHAR2(1 CHAR) DEFAULT NULL, - "MESSAGE" CLOB DEFAULT NULL, - "LOG" CLOB, - "HISTO_CREATEUR_ID" NUMBER NOT NULL ENABLE, - "HISTO_MODIFICATEUR_ID" NUMBER NOT NULL ENABLE, - "HISTO_DESTRUCTION" DATE, - "HISTO_DESTRUCTEUR_ID" NUMBER, - "HISTO_CREATION" DATE DEFAULT SYSDATE NOT NULL ENABLE, - "HISTO_MODIFICATION" DATE DEFAULT SYSDATE NOT NULL ENABLE, - CONSTRAINT "VALIDITE_FICHIER_PK" PRIMARY KEY ("ID") ENABLE - ) ; - CREATE TABLE /*"SYGAL".*/"VARIABLE" - ( "ID" NUMBER NOT NULL ENABLE, - "ETABLISSEMENT_ID" NUMBER DEFAULT NULL NOT NULL ENABLE, - "DESCRIPTION" VARCHAR2(300 CHAR) NOT NULL ENABLE, - "VALEUR" VARCHAR2(200 CHAR) NOT NULL ENABLE, - "SOURCE_CODE" VARCHAR2(64 CHAR) NOT NULL ENABLE, - "SOURCE_ID" NUMBER NOT NULL ENABLE, - "HISTO_CREATEUR_ID" NUMBER NOT NULL ENABLE, - "HISTO_CREATION" DATE DEFAULT SYSDATE NOT NULL ENABLE, - "HISTO_DESTRUCTEUR_ID" NUMBER, - "HISTO_DESTRUCTION" DATE, - "HISTO_MODIFICATEUR_ID" NUMBER NOT NULL ENABLE, - "HISTO_MODIFICATION" DATE DEFAULT SYSDATE NOT NULL ENABLE, - "DATE_DEB_VALIDITE" DATE DEFAULT sysdate NOT NULL ENABLE, - "DATE_FIN_VALIDITE" DATE DEFAULT to_date('9999-12-31', 'YYYY-MM-DD') NOT NULL ENABLE, - "CODE" VARCHAR2(64), - CONSTRAINT "VARIABLE_PK" PRIMARY KEY ("ID") ENABLE - ) ; - CREATE TABLE /*"SYGAL".*/"VERSION_FICHIER" - ( "ID" NUMBER NOT NULL ENABLE, - "CODE" VARCHAR2(16 CHAR) NOT NULL ENABLE, - "LIBELLE" VARCHAR2(128 CHAR) NOT NULL ENABLE, - CONSTRAINT "VERSION_FICHIER_PK" PRIMARY KEY ("ID") ENABLE - ) ; - CREATE TABLE /*"SYGAL".*/"WF_ETAPE" - ( "ID" NUMBER NOT NULL ENABLE, - "CODE" VARCHAR2(128 CHAR) NOT NULL ENABLE, - "ORDRE" NUMBER DEFAULT 1 NOT NULL ENABLE, - "CHEMIN" NUMBER DEFAULT 1 NOT NULL ENABLE, - "OBLIGATOIRE" NUMBER(1,0) DEFAULT 1 NOT NULL ENABLE, - "ROUTE" VARCHAR2(200 CHAR) NOT NULL ENABLE, - "LIBELLE_ACTEUR" VARCHAR2(150 CHAR) NOT NULL ENABLE, - "LIBELLE_AUTRES" VARCHAR2(150 CHAR) NOT NULL ENABLE, - "DESC_NON_FRANCHIE" VARCHAR2(250 CHAR) NOT NULL ENABLE, - "DESC_SANS_OBJECTIF" VARCHAR2(250 CHAR), - CONSTRAINT "WF_ETAPE_PK" PRIMARY KEY ("ID") ENABLE, - CONSTRAINT "WF_ETAPE_CODE_UN" UNIQUE ("CODE") ENABLE, - CONSTRAINT "WF_ETAPE_ORDRE_UN" UNIQUE ("ORDRE") ENABLE - ) ; - CREATE INDEX /*"SYGAL".*/"ACTEUR_ACTEUR_ETAB_ID_IDX" ON /*"SYGAL".*/"ACTEUR" ("ACTEUR_ETABLISSEMENT_ID") - ; - CREATE INDEX /*"SYGAL".*/"ACTEUR_DOCTORANT_ID_IDX" ON /*"SYGAL".*/"THESE" ("DOCTORANT_ID") - ; - CREATE INDEX /*"SYGAL".*/"ACTEUR_ECOLE_DOCT_ID_IDX" ON /*"SYGAL".*/"THESE" ("ECOLE_DOCT_ID") - ; - CREATE INDEX /*"SYGAL".*/"ACTEUR_ETABLISSEMENT_ID_IDX" ON /*"SYGAL".*/"THESE" ("ETABLISSEMENT_ID") - ; - CREATE INDEX /*"SYGAL".*/"ACTEUR_HISTO_DESTRUCT_ID_IDX" ON /*"SYGAL".*/"ACTEUR" ("HISTO_DESTRUCTEUR_ID") - ; - CREATE INDEX /*"SYGAL".*/"ACTEUR_HISTO_MODIF_ID_IDX" ON /*"SYGAL".*/"ACTEUR" ("HISTO_MODIFICATEUR_ID") - ; - CREATE INDEX /*"SYGAL".*/"ACTEUR_INDIVIDU_ID_IDX" ON /*"SYGAL".*/"ACTEUR" ("INDIVIDU_ID") - ; - CREATE INDEX /*"SYGAL".*/"ACTEUR_ROLE_ID_IDX" ON /*"SYGAL".*/"ACTEUR" ("ROLE_ID") - ; - CREATE UNIQUE INDEX /*"SYGAL".*/"ACTEUR_SOURCE_CODE_UNIQ" ON /*"SYGAL".*/"ACTEUR" ("SOURCE_CODE") - ; - CREATE INDEX /*"SYGAL".*/"ACTEUR_SOURCE_ID_IDX" ON /*"SYGAL".*/"ACTEUR" ("SOURCE_ID") - ; - CREATE INDEX /*"SYGAL".*/"ACTEUR_THESE_ID_IDX" ON /*"SYGAL".*/"ACTEUR" ("THESE_ID") - ; - CREATE INDEX /*"SYGAL".*/"ACTEUR_UNITE_RECH_ID_IDX" ON /*"SYGAL".*/"THESE" ("UNITE_RECH_ID") - ; - CREATE INDEX /*"SYGAL".*/"ATTESTATION_HC_IDX" ON /*"SYGAL".*/"ATTESTATION" ("HISTO_CREATEUR_ID") - ; - CREATE INDEX /*"SYGAL".*/"ATTESTATION_HD_IDX" ON /*"SYGAL".*/"ATTESTATION" ("HISTO_DESTRUCTEUR_ID") - ; - CREATE INDEX /*"SYGAL".*/"ATTESTATION_HM_IDX" ON /*"SYGAL".*/"ATTESTATION" ("HISTO_MODIFICATEUR_ID") - ; - CREATE INDEX /*"SYGAL".*/"ATTESTATION_THESE_IDX" ON /*"SYGAL".*/"ATTESTATION" ("THESE_ID") - ; - CREATE UNIQUE INDEX /*"SYGAL".*/"CATEGORIE_PRIVILEGE_UNIQUE" ON /*"SYGAL".*/"CATEGORIE_PRIVILEGE" ("CODE") - ; - CREATE INDEX /*"SYGAL".*/"DIFFUSION_HC_IDX" ON /*"SYGAL".*/"DIFFUSION" ("HISTO_CREATEUR_ID") - ; - CREATE INDEX /*"SYGAL".*/"DIFFUSION_HD_IDX" ON /*"SYGAL".*/"DIFFUSION" ("HISTO_DESTRUCTEUR_ID") - ; - CREATE INDEX /*"SYGAL".*/"DIFFUSION_HM_IDX" ON /*"SYGAL".*/"DIFFUSION" ("HISTO_MODIFICATEUR_ID") - ; - CREATE INDEX /*"SYGAL".*/"DIFFUSION_THESE_IDX" ON /*"SYGAL".*/"DIFFUSION" ("THESE_ID") - ; - CREATE INDEX /*"SYGAL".*/"DOCTORANT_COMPL_DOCTORANT_IDX" ON /*"SYGAL".*/"DOCTORANT_COMPL" ("DOCTORANT_ID") - ; - CREATE INDEX /*"SYGAL".*/"DOCTORANT_COMPL_HC_IDX" ON /*"SYGAL".*/"DOCTORANT_COMPL" ("HISTO_CREATEUR_ID") - ; - CREATE INDEX /*"SYGAL".*/"DOCTORANT_COMPL_HD_IDX" ON /*"SYGAL".*/"DOCTORANT_COMPL" ("HISTO_DESTRUCTEUR_ID") - ; - CREATE INDEX /*"SYGAL".*/"DOCTORANT_COMPL_HM_IDX" ON /*"SYGAL".*/"DOCTORANT_COMPL" ("HISTO_MODIFICATEUR_ID") - ; - CREATE UNIQUE INDEX /*"SYGAL".*/"DOCTORANT_COMPL_UN" ON /*"SYGAL".*/"DOCTORANT_COMPL" ("PERSOPASS", "HISTO_DESTRUCTION") - ; - CREATE INDEX /*"SYGAL".*/"DOCTORANT_ETABLISSEMENT_IDX" ON /*"SYGAL".*/"DOCTORANT" ("ETABLISSEMENT_ID") - ; - CREATE INDEX /*"SYGAL".*/"DOCTORANT_HCFK_IDX" ON /*"SYGAL".*/"DOCTORANT" ("HISTO_CREATEUR_ID") - ; - CREATE INDEX /*"SYGAL".*/"DOCTORANT_HDFK_IDX" ON /*"SYGAL".*/"DOCTORANT" ("HISTO_DESTRUCTEUR_ID") - ; - CREATE INDEX /*"SYGAL".*/"DOCTORANT_HMFK_IDX" ON /*"SYGAL".*/"DOCTORANT" ("HISTO_MODIFICATEUR_ID") - ; - CREATE INDEX /*"SYGAL".*/"DOCTORANT_INDIVIDU_IDX" ON /*"SYGAL".*/"DOCTORANT" ("INDIVIDU_ID") - ; - CREATE UNIQUE INDEX /*"SYGAL".*/"DOCTORANT_SOURCE_CODE_UNIQ" ON /*"SYGAL".*/"DOCTORANT" ("SOURCE_CODE") - ; - CREATE INDEX /*"SYGAL".*/"DOCTORANT_SRC_ID_INDEX" ON /*"SYGAL".*/"DOCTORANT" ("SOURCE_ID") - ; - CREATE INDEX /*"SYGAL".*/"ECOLE_DOCT_HC_IDX" ON /*"SYGAL".*/"ECOLE_DOCT" ("HISTO_CREATEUR_ID") - ; - CREATE INDEX /*"SYGAL".*/"ECOLE_DOCT_HD_IDX" ON /*"SYGAL".*/"ECOLE_DOCT" ("HISTO_DESTRUCTEUR_ID") - ; - CREATE INDEX /*"SYGAL".*/"ECOLE_DOCT_HM_IDX" ON /*"SYGAL".*/"ECOLE_DOCT" ("HISTO_MODIFICATEUR_ID") - ; - CREATE UNIQUE INDEX /*"SYGAL".*/"ECOLE_DOCT_SOURCE_CODE_UN" ON /*"SYGAL".*/"ECOLE_DOCT" ("SOURCE_CODE") - ; - CREATE INDEX /*"SYGAL".*/"ECOLE_DOCT_SOURCE_IDX" ON /*"SYGAL".*/"ECOLE_DOCT" ("SOURCE_ID") - ; - CREATE INDEX /*"SYGAL".*/"ECOLE_DOCT_STRUCT_ID_IDX" ON /*"SYGAL".*/"ECOLE_DOCT" ("STRUCTURE_ID") - ; - CREATE UNIQUE INDEX /*"SYGAL".*/"ETABLISSEMENT_DOMAINE_UINDEX" ON /*"SYGAL".*/"ETABLISSEMENT" ("DOMAINE") - ; - CREATE INDEX /*"SYGAL".*/"ETABLISSEMENT_STRUCT_ID_IDX" ON /*"SYGAL".*/"ETABLISSEMENT" ("STRUCTURE_ID") - ; - CREATE INDEX /*"SYGAL".*/"FICHIER_HCFK_IDX" ON /*"SYGAL".*/"FICHIER" ("HISTO_CREATEUR_ID") - ; - CREATE INDEX /*"SYGAL".*/"FICHIER_HDFK_IDX" ON /*"SYGAL".*/"FICHIER" ("HISTO_DESTRUCTEUR_ID") - ; - CREATE INDEX /*"SYGAL".*/"FICHIER_HMFK_IDX" ON /*"SYGAL".*/"FICHIER" ("HISTO_MODIFICATEUR_ID") - ; - CREATE INDEX /*"SYGAL".*/"FICHIER_NATURE_ID_INDEX" ON /*"SYGAL".*/"FICHIER" ("NATURE_ID") - ; - CREATE INDEX /*"SYGAL".*/"FICHIER_THESE_FICH_ID_IDX" ON /*"SYGAL".*/"FICHIER_THESE" ("FICHIER_ID") - ; - CREATE INDEX /*"SYGAL".*/"FICHIER_THESE_THESE_ID_IDX" ON /*"SYGAL".*/"FICHIER_THESE" ("THESE_ID") - ; - CREATE UNIQUE INDEX /*"SYGAL".*/"FICHIER_UUID_UN" ON /*"SYGAL".*/"FICHIER" ("UUID") - ; - CREATE INDEX /*"SYGAL".*/"FICHIER_VERSION_FK_IDX" ON /*"SYGAL".*/"FICHIER" ("VERSION_FICHIER_ID") - ; - CREATE UNIQUE INDEX /*"SYGAL".*/"FINANCEMENT_SOURCE_CODE_UN" ON /*"SYGAL".*/"FINANCEMENT" ("SOURCE_CODE") - ; - CREATE INDEX /*"SYGAL".*/"IMPORT_OBSERV_RESULT_IO_IDX" ON /*"SYGAL".*/"IMPORT_OBSERV_RESULT" ("IMPORT_OBSERV_ID") - ; - CREATE INDEX /*"SYGAL".*/"IMPORT_OBS_NOTIF_IOR_IDX" ON /*"SYGAL".*/"IMPORT_OBS_RESULT_NOTIF" ("IMPORT_OBSERV_RESULT_ID") - ; - CREATE INDEX /*"SYGAL".*/"IMPORT_OBS_NOTIF_IO_IDX" ON /*"SYGAL".*/"IMPORT_OBS_NOTIF" ("IMPORT_OBSERV_ID") - ; - CREATE INDEX /*"SYGAL".*/"IMPORT_OBS_NOTIF_NR_IDX" ON /*"SYGAL".*/"IMPORT_OBS_RESULT_NOTIF" ("NOTIF_RESULT_ID") - ; - CREATE INDEX /*"SYGAL".*/"IMPORT_OBS_NOTIF_N_IDX" ON /*"SYGAL".*/"IMPORT_OBS_NOTIF" ("NOTIF_ID") - ; - CREATE INDEX /*"SYGAL".*/"INDIVIDU_HCFK_IDX" ON /*"SYGAL".*/"INDIVIDU" ("HISTO_CREATEUR_ID") - ; - CREATE INDEX /*"SYGAL".*/"INDIVIDU_HDFK_IDX" ON /*"SYGAL".*/"INDIVIDU" ("HISTO_DESTRUCTEUR_ID") - ; - CREATE INDEX /*"SYGAL".*/"INDIVIDU_HMFK_IDX" ON /*"SYGAL".*/"INDIVIDU" ("HISTO_MODIFICATEUR_ID") - ; - CREATE INDEX /*"SYGAL".*/"INDIVIDU_ROLE_INDIVIDU_IDX" ON /*"SYGAL".*/"INDIVIDU_ROLE" ("INDIVIDU_ID") - ; - CREATE INDEX /*"SYGAL".*/"INDIVIDU_ROLE_ROLE_IDX" ON /*"SYGAL".*/"INDIVIDU_ROLE" ("ROLE_ID") - ; - CREATE UNIQUE INDEX /*"SYGAL".*/"INDIVIDU_ROLE_UNIQUE" ON /*"SYGAL".*/"INDIVIDU_ROLE" ("INDIVIDU_ID", "ROLE_ID") - ; - CREATE UNIQUE INDEX /*"SYGAL".*/"INDIVIDU_SOURCE_CODE_UNIQ" ON /*"SYGAL".*/"INDIVIDU" ("SOURCE_CODE", "HISTO_DESTRUCTION") - ; - CREATE INDEX /*"SYGAL".*/"INDIVIDU_SRC_ID_INDEX" ON /*"SYGAL".*/"INDIVIDU" ("SOURCE_ID") - ; - CREATE UNIQUE INDEX /*"SYGAL".*/"MAIL_CONFIRMATION_CODE_UINDEX" ON /*"SYGAL".*/"MAIL_CONFIRMATION" ("CODE") - ; - CREATE UNIQUE INDEX /*"SYGAL".*/"METADONNEE_THESE_UNIQ" ON /*"SYGAL".*/"METADONNEE_THESE" ("THESE_ID") - ; - CREATE INDEX /*"SYGAL".*/"NOTIF_RESULT_NOTIF_IDX" ON /*"SYGAL".*/"NOTIF_RESULT" ("NOTIF_ID") - ; - CREATE UNIQUE INDEX /*"SYGAL".*/"ORIGINE_FIN_SOURCE_CODE_UN" ON /*"SYGAL".*/"ORIGINE_FINANCEMENT" ("SOURCE_CODE") - ; - CREATE INDEX /*"SYGAL".*/"PRIVILEGE_CATEG_IDX" ON /*"SYGAL".*/"PRIVILEGE" ("CATEGORIE_ID") - ; - CREATE UNIQUE INDEX /*"SYGAL".*/"PRIVILEGE_UNIQUE" ON /*"SYGAL".*/"PRIVILEGE" ("CATEGORIE_ID", "CODE") - ; - CREATE UNIQUE INDEX /*"SYGAL".*/"PROFIL_ROLE_ID_UINDEX" ON /*"SYGAL".*/"PROFIL" ("ROLE_ID") - ; - CREATE INDEX /*"SYGAL".*/"RDV_BU_HC_IDX" ON /*"SYGAL".*/"RDV_BU" ("HISTO_CREATEUR_ID") - ; - CREATE INDEX /*"SYGAL".*/"RDV_BU_HD_IDX" ON /*"SYGAL".*/"RDV_BU" ("HISTO_DESTRUCTEUR_ID") - ; - CREATE INDEX /*"SYGAL".*/"RDV_BU_HM_IDX" ON /*"SYGAL".*/"RDV_BU" ("HISTO_MODIFICATEUR_ID") - ; - CREATE INDEX /*"SYGAL".*/"RDV_BU_THESE_IDX" ON /*"SYGAL".*/"RDV_BU" ("THESE_ID") - ; - CREATE INDEX /*"SYGAL".*/"ROLE_PRIVILEGE_PRIVILEGE_IDX" ON /*"SYGAL".*/"ROLE_PRIVILEGE" ("PRIVILEGE_ID") - ; - CREATE INDEX /*"SYGAL".*/"ROLE_PRIVILEGE_ROLE_IDX" ON /*"SYGAL".*/"ROLE_PRIVILEGE" ("ROLE_ID") - ; - CREATE UNIQUE INDEX /*"SYGAL".*/"ROLE_SOURCE_CODE_UN" ON /*"SYGAL".*/"ROLE" ("SOURCE_CODE") - ; - CREATE INDEX /*"SYGAL".*/"ROLE_STRUCTURE_ID_IDX" ON /*"SYGAL".*/"ROLE" ("STRUCTURE_ID") - ; - CREATE INDEX /*"SYGAL".*/"ROLE_TYPE_STRUCTURE_ID_IDX" ON /*"SYGAL".*/"ROLE" ("TYPE_STRUCTURE_DEPENDANT_ID") - ; - CREATE UNIQUE INDEX /*"SYGAL".*/"SOURCE_CODE_UNIQUE" ON /*"SYGAL".*/"ETABLISSEMENT" ("SOURCE_CODE") - ; - CREATE UNIQUE INDEX /*"SYGAL".*/"STRUCTURE_SOURCE_CODE_UN" ON /*"SYGAL".*/"STRUCTURE" ("SOURCE_CODE") - ; - CREATE INDEX /*"SYGAL".*/"STRUCTURE_TYPE_STR_ID_IDX" ON /*"SYGAL".*/"STRUCTURE" ("TYPE_STRUCTURE_ID") - ; - CREATE INDEX /*"SYGAL".*/"STR_SUBSTIT_STR_TO_IDX" ON /*"SYGAL".*/"STRUCTURE_SUBSTIT" ("TO_STRUCTURE_ID") - ; - CREATE UNIQUE INDEX /*"SYGAL".*/"STR_SUBSTIT_UNIQUE" ON /*"SYGAL".*/"STRUCTURE_SUBSTIT" ("FROM_STRUCTURE_ID") - ; - CREATE INDEX /*"SYGAL".*/"THESE_ANNEE_UNIV_THESE_ID_IDX" ON /*"SYGAL".*/"THESE_ANNEE_UNIV" ("THESE_ID") - ; - CREATE UNIQUE INDEX /*"SYGAL".*/"THESE_AN_UNIV_SOURCE_CODE_UN" ON /*"SYGAL".*/"THESE_ANNEE_UNIV" ("SOURCE_CODE") - ; - CREATE INDEX /*"SYGAL".*/"THESE_ETAT_INDEX" ON /*"SYGAL".*/"THESE" ("ETAT_THESE") - ; - CREATE INDEX /*"SYGAL".*/"THESE_HCFK_IDX" ON /*"SYGAL".*/"THESE" ("HISTO_CREATEUR_ID") - ; - CREATE INDEX /*"SYGAL".*/"THESE_HDFK_IDX" ON /*"SYGAL".*/"THESE" ("HISTO_DESTRUCTEUR_ID") - ; - CREATE INDEX /*"SYGAL".*/"THESE_HMFK_IDX" ON /*"SYGAL".*/"THESE" ("HISTO_MODIFICATEUR_ID") - ; - CREATE UNIQUE INDEX /*"SYGAL".*/"THESE_SOURCE_CODE_UNIQ" ON /*"SYGAL".*/"THESE" ("SOURCE_CODE") - ; - CREATE INDEX /*"SYGAL".*/"THESE_SRC_ID_INDEX" ON /*"SYGAL".*/"THESE" ("SOURCE_ID") - ; - CREATE INDEX /*"SYGAL".*/"THESE_TITRE_INDEX" ON /*"SYGAL".*/"THESE" ("TITRE") - ; - CREATE UNIQUE INDEX /*"SYGAL".*/"TITRE_ACCES_SOURCE_CODE_UN" ON /*"SYGAL".*/"TITRE_ACCES" ("SOURCE_CODE") - ; - CREATE INDEX /*"SYGAL".*/"TITRE_ACCES_THESE_ID_IDX" ON /*"SYGAL".*/"TITRE_ACCES" ("THESE_ID") - ; - CREATE INDEX /*"SYGAL".*/"TMP_ACTEUR_SOURCE_CODE_INDEX" ON /*"SYGAL".*/"TMP_ACTEUR" ("SOURCE_CODE") - ; - CREATE INDEX /*"SYGAL".*/"TMP_ACTEUR_SOURCE_ID_INDEX" ON /*"SYGAL".*/"TMP_ACTEUR" ("SOURCE_ID") - ; - CREATE UNIQUE INDEX /*"SYGAL".*/"TMP_ACTEUR_UNIQ" ON /*"SYGAL".*/"TMP_ACTEUR" ("ID", "ETABLISSEMENT_ID") - ; - CREATE INDEX /*"SYGAL".*/"TMP_DOCTORANT_SOURCE_CODE_IDX" ON /*"SYGAL".*/"TMP_DOCTORANT" ("SOURCE_CODE") - ; - CREATE INDEX /*"SYGAL".*/"TMP_DOCTORANT_SOURCE_ID_IDX" ON /*"SYGAL".*/"TMP_DOCTORANT" ("SOURCE_ID") - ; - CREATE UNIQUE INDEX /*"SYGAL".*/"TMP_DOCTORANT_UNIQ" ON /*"SYGAL".*/"TMP_DOCTORANT" ("ID", "ETABLISSEMENT_ID") - ; - CREATE INDEX /*"SYGAL".*/"TMP_ECOLE_DOCT_SOURCE_CODE_IDX" ON /*"SYGAL".*/"TMP_ECOLE_DOCT" ("SOURCE_CODE") - ; - CREATE INDEX /*"SYGAL".*/"TMP_ECOLE_DOCT_SOURCE_ID_IDX" ON /*"SYGAL".*/"TMP_ECOLE_DOCT" ("SOURCE_ID") - ; - CREATE INDEX /*"SYGAL".*/"TMP_ECOLE_DOCT_STRUCT_ID_IDX" ON /*"SYGAL".*/"TMP_ECOLE_DOCT" ("STRUCTURE_ID") - ; - CREATE UNIQUE INDEX /*"SYGAL".*/"TMP_ECOLE_DOCT_UNIQ" ON /*"SYGAL".*/"TMP_ECOLE_DOCT" ("ID", "STRUCTURE_ID") - ; - CREATE INDEX /*"SYGAL".*/"TMP_ETAB_SOURCE_CODE_IDX" ON /*"SYGAL".*/"TMP_ETABLISSEMENT" ("SOURCE_CODE") - ; - CREATE INDEX /*"SYGAL".*/"TMP_ETAB_SOURCE_ID_IDX" ON /*"SYGAL".*/"TMP_ETABLISSEMENT" ("SOURCE_ID") - ; - CREATE INDEX /*"SYGAL".*/"TMP_ETAB_STRUCT_ID_IDX" ON /*"SYGAL".*/"TMP_ETABLISSEMENT" ("STRUCTURE_ID") - ; - CREATE UNIQUE INDEX /*"SYGAL".*/"TMP_ETAB_UNIQ" ON /*"SYGAL".*/"TMP_ETABLISSEMENT" ("ID", "STRUCTURE_ID") - ; - CREATE UNIQUE INDEX /*"SYGAL".*/"TMP_FINANCEMENT_UNIQ" ON /*"SYGAL".*/"TMP_FINANCEMENT" ("ID", "ETABLISSEMENT_ID") - ; - CREATE INDEX /*"SYGAL".*/"TMP_INDIVIDU_SOURCE_CODE_IDX" ON /*"SYGAL".*/"TMP_INDIVIDU" ("SOURCE_CODE") - ; - CREATE INDEX /*"SYGAL".*/"TMP_INDIVIDU_SOURCE_ID_IDX" ON /*"SYGAL".*/"TMP_INDIVIDU" ("SOURCE_ID") - ; - CREATE UNIQUE INDEX /*"SYGAL".*/"TMP_INDIVIDU_UNIQ" ON /*"SYGAL".*/"TMP_INDIVIDU" ("ID", "ETABLISSEMENT_ID") - ; - CREATE UNIQUE INDEX /*"SYGAL".*/"TMP_ORIGINE_FINANCEMENT_UNIQ" ON /*"SYGAL".*/"TMP_ORIGINE_FINANCEMENT" ("ID", "ETABLISSEMENT_ID") - ; - CREATE INDEX /*"SYGAL".*/"TMP_ROLE_SOURCE_CODE_INDEX" ON /*"SYGAL".*/"TMP_ROLE" ("SOURCE_CODE") - ; - CREATE INDEX /*"SYGAL".*/"TMP_ROLE_SOURCE_ID_INDEX" ON /*"SYGAL".*/"TMP_ROLE" ("SOURCE_ID") - ; - CREATE UNIQUE INDEX /*"SYGAL".*/"TMP_ROLE_UNIQ" ON /*"SYGAL".*/"TMP_ROLE" ("ID", "ETABLISSEMENT_ID") - ; - CREATE INDEX /*"SYGAL".*/"TMP_STRUCTURE_SOURCE_CODE_IDX" ON /*"SYGAL".*/"TMP_STRUCTURE" ("SOURCE_CODE") - ; - CREATE INDEX /*"SYGAL".*/"TMP_STRUCTURE_SOURCE_ID_IDX" ON /*"SYGAL".*/"TMP_STRUCTURE" ("SOURCE_ID") - ; - CREATE INDEX /*"SYGAL".*/"TMP_STRUCTURE_TYPE_ID_IDX" ON /*"SYGAL".*/"TMP_STRUCTURE" ("TYPE_STRUCTURE_ID") - ; - CREATE INDEX /*"SYGAL".*/"TMP_THESE_ANNEE_U_SRC_COD_IDX" ON /*"SYGAL".*/"TMP_THESE_ANNEE_UNIV" ("SOURCE_CODE") - ; - CREATE INDEX /*"SYGAL".*/"TMP_THESE_ANNEE_U_SRC_ID_IDX" ON /*"SYGAL".*/"TMP_THESE_ANNEE_UNIV" ("SOURCE_ID") - ; - CREATE UNIQUE INDEX /*"SYGAL".*/"TMP_THESE_ANNEE_U_UNIQ" ON /*"SYGAL".*/"TMP_THESE_ANNEE_UNIV" ("ID", "ETABLISSEMENT_ID") - ; - CREATE INDEX /*"SYGAL".*/"TMP_THESE_SOURCE_CODE_INDEX" ON /*"SYGAL".*/"TMP_THESE" ("SOURCE_CODE") - ; - CREATE INDEX /*"SYGAL".*/"TMP_THESE_SOURCE_ID_INDEX" ON /*"SYGAL".*/"TMP_THESE" ("SOURCE_ID") - ; - CREATE UNIQUE INDEX /*"SYGAL".*/"TMP_THESE_UNIQ" ON /*"SYGAL".*/"TMP_THESE" ("ID", "ETABLISSEMENT_ID") - ; - CREATE INDEX /*"SYGAL".*/"TMP_TITRE_ACCES_SOURCE_COD_IDX" ON /*"SYGAL".*/"TMP_TITRE_ACCES" ("SOURCE_CODE") - ; - CREATE INDEX /*"SYGAL".*/"TMP_TITRE_ACCES_SOURCE_ID_IDX" ON /*"SYGAL".*/"TMP_TITRE_ACCES" ("SOURCE_ID") - ; - CREATE UNIQUE INDEX /*"SYGAL".*/"TMP_TITRE_ACCES_UNIQ" ON /*"SYGAL".*/"TMP_TITRE_ACCES" ("ID", "ETABLISSEMENT_ID") - ; - CREATE INDEX /*"SYGAL".*/"TMP_UNITE_RECH_SOURCE_CODE_IDX" ON /*"SYGAL".*/"TMP_UNITE_RECH" ("SOURCE_CODE") - ; - CREATE INDEX /*"SYGAL".*/"TMP_UNITE_RECH_SOURCE_ID_IDX" ON /*"SYGAL".*/"TMP_UNITE_RECH" ("SOURCE_ID") - ; - CREATE INDEX /*"SYGAL".*/"TMP_UNITE_RECH_STRUCT_ID_IDX" ON /*"SYGAL".*/"TMP_UNITE_RECH" ("STRUCTURE_ID") - ; - CREATE UNIQUE INDEX /*"SYGAL".*/"TMP_UNITE_RECH_UNIQ" ON /*"SYGAL".*/"TMP_UNITE_RECH" ("ID", "STRUCTURE_ID") - ; - CREATE INDEX /*"SYGAL".*/"TMP_VARIABLE_SOURCE_CODE_INDEX" ON /*"SYGAL".*/"TMP_VARIABLE" ("SOURCE_CODE") - ; - CREATE INDEX /*"SYGAL".*/"TMP_VARIABLE_SOURCE_ID_INDEX" ON /*"SYGAL".*/"TMP_VARIABLE" ("SOURCE_ID") - ; - CREATE UNIQUE INDEX /*"SYGAL".*/"TMP_VARIABLE_UNIQ" ON /*"SYGAL".*/"TMP_VARIABLE" ("ID", "ETABLISSEMENT_ID") - ; - CREATE UNIQUE INDEX /*"SYGAL".*/"TYPE_STRUCTURE_UN" ON /*"SYGAL".*/"TYPE_STRUCTURE" ("CODE") - ; - CREATE UNIQUE INDEX /*"SYGAL".*/"TYPE_VALIDATION_UN" ON /*"SYGAL".*/"TYPE_VALIDATION" ("CODE") - ; - CREATE INDEX /*"SYGAL".*/"UNITE_RECH_HC_IDX" ON /*"SYGAL".*/"UNITE_RECH" ("HISTO_CREATEUR_ID") - ; - CREATE INDEX /*"SYGAL".*/"UNITE_RECH_HD_IDX" ON /*"SYGAL".*/"UNITE_RECH" ("HISTO_DESTRUCTEUR_ID") - ; - CREATE INDEX /*"SYGAL".*/"UNITE_RECH_HM_IDX" ON /*"SYGAL".*/"UNITE_RECH" ("HISTO_MODIFICATEUR_ID") - ; - CREATE UNIQUE INDEX /*"SYGAL".*/"UNITE_RECH_SOURCE_CODE_UN" ON /*"SYGAL".*/"UNITE_RECH" ("SOURCE_CODE") - ; - CREATE INDEX /*"SYGAL".*/"UNITE_RECH_SOURCE_IDX" ON /*"SYGAL".*/"UNITE_RECH" ("SOURCE_ID") - ; - CREATE INDEX /*"SYGAL".*/"UNITE_RECH_STRUCT_ID_IDX" ON /*"SYGAL".*/"UNITE_RECH" ("STRUCTURE_ID") - ; - CREATE UNIQUE INDEX /*"SYGAL".*/"UTILIS_PASSWORD_RESET_TOKEN_UN" ON /*"SYGAL".*/"UTILISATEUR" ("PASSWORD_RESET_TOKEN") - ; - CREATE INDEX /*"SYGAL".*/"VALIDATION_HCFK_IDX" ON /*"SYGAL".*/"VALIDATION" ("HISTO_CREATEUR_ID") - ; - CREATE INDEX /*"SYGAL".*/"VALIDATION_HDFK_IDX" ON /*"SYGAL".*/"VALIDATION" ("HISTO_DESTRUCTEUR_ID") - ; - CREATE INDEX /*"SYGAL".*/"VALIDATION_HMFK_IDX" ON /*"SYGAL".*/"VALIDATION" ("HISTO_MODIFICATEUR_ID") - ; - CREATE INDEX /*"SYGAL".*/"VALIDATION_INDIVIDU_IDX" ON /*"SYGAL".*/"VALIDATION" ("INDIVIDU_ID") - ; - CREATE INDEX /*"SYGAL".*/"VALIDATION_THESE_IDX" ON /*"SYGAL".*/"VALIDATION" ("THESE_ID") - ; - CREATE INDEX /*"SYGAL".*/"VALIDATION_TYPE_IDX" ON /*"SYGAL".*/"VALIDATION" ("TYPE_VALIDATION_ID") - ; - CREATE UNIQUE INDEX /*"SYGAL".*/"VALIDATION_UN" ON /*"SYGAL".*/"VALIDATION" ("TYPE_VALIDATION_ID", "THESE_ID", "HISTO_DESTRUCTION", "INDIVIDU_ID") - ; - CREATE INDEX /*"SYGAL".*/"VALIDITE_FICHIER_FICHIER_IDX" ON /*"SYGAL".*/"VALIDITE_FICHIER" ("FICHIER_ID") - ; - CREATE INDEX /*"SYGAL".*/"VALIDITE_FICHIER_HCFK_IDX" ON /*"SYGAL".*/"VALIDITE_FICHIER" ("HISTO_CREATEUR_ID") - ; - CREATE INDEX /*"SYGAL".*/"VALIDITE_FICHIER_HDFK_IDX" ON /*"SYGAL".*/"VALIDITE_FICHIER" ("HISTO_DESTRUCTEUR_ID") - ; - CREATE INDEX /*"SYGAL".*/"VALIDITE_FICHIER_HMFK_IDX" ON /*"SYGAL".*/"VALIDITE_FICHIER" ("HISTO_MODIFICATEUR_ID") - ; - CREATE UNIQUE INDEX /*"SYGAL".*/"VARIABLE_CODE_UNIQ" ON /*"SYGAL".*/"VARIABLE" ("CODE", "ETABLISSEMENT_ID") - ; - CREATE INDEX /*"SYGAL".*/"VARIABLE_ETABLISSEMENT_IDX" ON /*"SYGAL".*/"VARIABLE" ("ETABLISSEMENT_ID") - ; - CREATE INDEX /*"SYGAL".*/"VARIABLE_HC_IDX" ON /*"SYGAL".*/"VARIABLE" ("HISTO_CREATEUR_ID") - ; - CREATE INDEX /*"SYGAL".*/"VARIABLE_HD_IDX" ON /*"SYGAL".*/"VARIABLE" ("HISTO_DESTRUCTEUR_ID") - ; - CREATE INDEX /*"SYGAL".*/"VARIABLE_HM_IDX" ON /*"SYGAL".*/"VARIABLE" ("HISTO_MODIFICATEUR_ID") - ; - CREATE UNIQUE INDEX /*"SYGAL".*/"VARIABLE_SOURCE_CODE_UNIQ" ON /*"SYGAL".*/"VARIABLE" ("SOURCE_CODE") - ; - CREATE INDEX /*"SYGAL".*/"VARIABLE_SOURCE_IDX" ON /*"SYGAL".*/"VARIABLE" ("SOURCE_ID") - ; - CREATE UNIQUE INDEX /*"SYGAL".*/"VERSION_FICHIER_UNIQ_CODE" ON /*"SYGAL".*/"VERSION_FICHIER" ("CODE") - ; - CREATE OR REPLACE FORCE VIEW /*"SYGAL".*/"SRC_ACTEUR" ("ID", "SOURCE_CODE", "SOURCE_ID", "INDIVIDU_ID", "THESE_ID", "ROLE_ID", "ACTEUR_ETABLISSEMENT_ID", "QUALITE", "LIB_ROLE_COMPL") AS - SELECT - NULL AS id, - tmp.SOURCE_CODE, - src.ID AS SOURCE_ID, - i.id AS INDIVIDU_ID, - t.id AS THESE_ID, - r.id AS ROLE_ID, - coalesce(etab_substit.id, eact.id) AS ACTEUR_ETABLISSEMENT_ID, - tmp.LIB_CPS AS QUALITE, - tmp.LIB_ROJ_COMPL AS LIB_ROLE_COMPL -FROM TMP_ACTEUR tmp - JOIN SOURCE src ON src.CODE = tmp.SOURCE_ID - JOIN INDIVIDU i ON i.SOURCE_CODE = tmp.INDIVIDU_ID - JOIN THESE t ON t.SOURCE_CODE = tmp.THESE_ID - JOIN ROLE r ON r.SOURCE_CODE = tmp.ROLE_ID - LEFT JOIN ETABLISSEMENT eact ON eact.SOURCE_CODE = tmp.ACTEUR_ETABLISSEMENT_ID - LEFT JOIN STRUCTURE_SUBSTIT ss_ed on ss_ed.FROM_STRUCTURE_ID = eact.STRUCTURE_ID - LEFT JOIN ETABLISSEMENT etab_substit on etab_substit.STRUCTURE_ID = ss_ed.TO_STRUCTURE_ID; - CREATE OR REPLACE FORCE VIEW /*"SYGAL".*/"SRC_DOCTORANT" ("ID", "SOURCE_CODE", "INE", "SOURCE_ID", "INDIVIDU_ID", "ETABLISSEMENT_ID") AS - SELECT - NULL AS id, - tmp.SOURCE_CODE, - tmp.INE, - src.id AS source_id, - i.id AS individu_id, - e.id AS etablissement_id -FROM TMP_DOCTORANT tmp - JOIN STRUCTURE s ON s.SOURCE_CODE = tmp.ETABLISSEMENT_ID - JOIN ETABLISSEMENT e ON e.STRUCTURE_ID = s.ID - JOIN SOURCE src ON src.CODE = tmp.SOURCE_ID - JOIN INDIVIDU i ON i.SOURCE_CODE = tmp.INDIVIDU_ID; - CREATE OR REPLACE FORCE VIEW /*"SYGAL".*/"SRC_ECOLE_DOCT" ("ID", "SOURCE_CODE", "SOURCE_ID", "STRUCTURE_ID") AS - SELECT - NULL AS id, - tmp.SOURCE_CODE as SOURCE_CODE, - src.id AS SOURCE_ID, - s.ID as STRUCTURE_ID -FROM TMP_ECOLE_DOCT tmp - JOIN STRUCTURE s on s.SOURCE_CODE = tmp.STRUCTURE_ID - JOIN SOURCE src ON src.CODE = tmp.SOURCE_ID; - CREATE OR REPLACE FORCE VIEW /*"SYGAL".*/"SRC_ETABLISSEMENT" ("ID", "SOURCE_CODE", "SOURCE_ID", "STRUCTURE_ID") AS - SELECT - NULL AS id, - tmp.SOURCE_CODE as SOURCE_CODE, - src.id AS SOURCE_ID, - s.ID as STRUCTURE_ID -FROM TMP_ETABLISSEMENT tmp - JOIN STRUCTURE s on s.SOURCE_CODE = tmp.STRUCTURE_ID - JOIN SOURCE src ON src.CODE = tmp.SOURCE_ID; - CREATE OR REPLACE FORCE VIEW /*"SYGAL".*/"SRC_FINANCEMENT" ("ID", "SOURCE_CODE", "SOURCE_ID", "THESE_ID", "ANNEE", "ORIGINE_FINANCEMENT_ID", "COMPLEMENT_FINANCEMENT", "QUOTITE_FINANCEMENT", "DATE_DEBUT", "DATE_FIN") AS - SELECT - NULL AS id, - tmp.SOURCE_CODE AS SOURCE_CODE, - src.ID AS source_id, - --e.id AS etablissement_id, - t.id AS THESE_ID, - to_number(tmp.ANNEE) AS ANNEE, - ofi.id AS ORIGINE_FINANCEMENT_ID, - tmp.COMPLEMENT_FINANCEMENT, - tmp.QUOTITE_FINANCEMENT, - tmp.DATE_DEBUT_FINANCEMENT as DATE_DEBUT, - tmp.DATE_FIN_FINANCEMENT as DATE_FIN -FROM TMP_FINANCEMENT tmp - JOIN SOURCE src ON src.CODE = tmp.SOURCE_ID - JOIN THESE t on t.SOURCE_CODE = tmp.THESE_ID - JOIN ORIGINE_FINANCEMENT ofi on ofi.SOURCE_CODE = tmp.ORIGINE_FINANCEMENT_ID; - CREATE OR REPLACE FORCE VIEW /*"SYGAL".*/"SRC_INDIVIDU" ("ID", "SOURCE_CODE", "SOURCE_ID", "TYPE", "SUPANN_ID", "CIVILITE", "NOM_USUEL", "NOM_PATRONYMIQUE", "PRENOM1", "PRENOM2", "PRENOM3", "EMAIL", "DATE_NAISSANCE", "NATIONALITE") AS - SELECT - NULL AS id, - tmp.SOURCE_CODE, - src.id AS SOURCE_ID, - TYPE, - SUPANN_ID, - civ AS CIVILITE, - lib_nom_usu_ind AS NOM_USUEL, - lib_nom_pat_ind AS NOM_PATRONYMIQUE, - lib_pr1_ind AS PRENOM1, - lib_pr2_ind AS PRENOM2, - lib_pr3_ind AS PRENOM3, - EMAIL, - dat_nai_per AS DATE_NAISSANCE, - lib_nat AS NATIONALITE -FROM TMP_INDIVIDU tmp - JOIN SOURCE src ON src.CODE = tmp.SOURCE_ID; - CREATE OR REPLACE FORCE VIEW /*"SYGAL".*/"SRC_ROLE" ("ID", "SOURCE_CODE", "SOURCE_ID", "LIBELLE", "CODE", "ROLE_ID", "THESE_DEP", "STRUCTURE_ID", "TYPE_STRUCTURE_DEPENDANT_ID") AS - SELECT - NULL AS id, - tmp.SOURCE_CODE AS SOURCE_CODE, - src.ID AS source_id, - --e.id AS etablissement_id, - tmp.LIB_ROJ AS libelle, - to_char(tmp.id) AS code, - tmp.LIB_ROJ||' '||s.CODE AS role_id, - 1 AS these_dep, - s.ID AS STRUCTURE_ID, - NULL AS TYPE_STRUCTURE_DEPENDANT_ID -FROM TMP_ROLE tmp - JOIN STRUCTURE s ON s.SOURCE_CODE = tmp.ETABLISSEMENT_ID - JOIN ETABLISSEMENT e ON e.STRUCTURE_ID = s.ID - JOIN STRUCTURE s ON s.id = e.STRUCTURE_ID - JOIN SOURCE src ON src.CODE = tmp.SOURCE_ID; - CREATE OR REPLACE FORCE VIEW /*"SYGAL".*/"SRC_STRUCTURE" ("ID", "SOURCE_CODE", "CODE", "SOURCE_ID", "TYPE_STRUCTURE_ID", "SIGLE", "LIBELLE", "CODE_PAYS", "LIBELLE_PAYS") AS - SELECT - NULL AS id, - tmp.SOURCE_CODE as SOURCE_CODE, - tmp.id as CODE, - src.id AS SOURCE_ID, - ts.id as TYPE_STRUCTURE_ID, - tmp.SIGLE, - tmp.LIBELLE, - tmp.CODE_PAYS, - tmp.LIBELLE_PAYS -FROM TMP_STRUCTURE tmp - JOIN TYPE_STRUCTURE ts on ts.CODE = tmp.TYPE_STRUCTURE_ID - JOIN SOURCE src ON src.CODE = tmp.SOURCE_ID; - CREATE OR REPLACE FORCE VIEW /*"SYGAL".*/"SRC_THESE" ("ID", "SOURCE_CODE", "SOURCE_ID", "ETABLISSEMENT_ID", "DOCTORANT_ID", "ECOLE_DOCT_ID", "UNITE_RECH_ID", "ECOLE_DOCT_ID_ORIG", "UNITE_RECH_ID_ORIG", "TITRE", "ETAT_THESE", "RESULTAT", "LIB_DISC", "DATE_PREM_INSC", "ANNEE_UNIV_1ERE_INSC", "DATE_PREV_SOUTENANCE", "DATE_SOUTENANCE", "DATE_FIN_CONFID", "LIB_ETAB_COTUT", "LIB_PAYS_COTUT", "CORREC_AUTORISEE", "SOUTENANCE_AUTORIS", "DATE_AUTORIS_SOUTENANCE", "TEM_AVENANT_COTUT", "DATE_ABANDON", "DATE_TRANSFERT") AS - select - null as id, - tmp.source_code as source_code, - src.id as source_id, - e.id as etablissement_id, - d.id as doctorant_id, - coalesce(ed_substit.id, ed.id) as ecole_doct_id, - coalesce(ur_substit.id, ur.id) as unite_rech_id, - ed.id as ecole_doct_id_orig, - ur.id as unite_rech_id_orig, - tmp.lib_ths as titre, - tmp.eta_ths as etat_these, - to_number(tmp.cod_neg_tre) as resultat, - tmp.lib_int1_dis as lib_disc, - tmp.dat_deb_ths as date_prem_insc, - tmp.ANNEE_UNIV_1ERE_INSC as annee_univ_1ere_insc, -- deprecated - tmp.dat_prev_sou as date_prev_soutenance, - tmp.dat_sou_ths as date_soutenance, - tmp.dat_fin_cfd_ths as date_fin_confid, - tmp.lib_etab_cotut as lib_etab_cotut, - tmp.lib_pays_cotut as lib_pays_cotut, - tmp.correction_possible as correc_autorisee, - tem_sou_aut_ths as soutenance_autoris, - dat_aut_sou_ths as date_autoris_soutenance, - tem_avenant_cotut as tem_avenant_cotut, - dat_abandon as date_abandon, - dat_transfert_dep as date_transfert -from tmp_these tmp - JOIN STRUCTURE s ON s.SOURCE_CODE = tmp.ETABLISSEMENT_ID - join etablissement e on e.structure_id = s.id - join source src on src.code = tmp.source_id - join doctorant d on d.source_code = tmp.doctorant_id - left join ecole_doct ed on ed.source_code = tmp.ecole_doct_id - left join unite_rech ur on ur.source_code = tmp.unite_rech_id - left join structure_substit ss_ed on ss_ed.from_structure_id = ed.structure_id - left join ecole_doct ed_substit on ed_substit.structure_id = ss_ed.to_structure_id - left join structure_substit ss_ur on ss_ur.from_structure_id = ur.structure_id - left join unite_rech ur_substit on ur_substit.structure_id = ss_ur.to_structure_id; - CREATE OR REPLACE FORCE VIEW /*"SYGAL".*/"SRC_THESE_ANNEE_UNIV" ("ID", "SOURCE_CODE", "SOURCE_ID", "THESE_ID", "ANNEE_UNIV") AS - SELECT - NULL AS id, - tmp.SOURCE_CODE AS SOURCE_CODE, - src.ID AS source_id, - --e.id AS etablissement_id, - t.id AS these_id, - tmp.ANNEE_UNIV -FROM TMP_THESE_ANNEE_UNIV tmp - JOIN STRUCTURE s ON s.SOURCE_CODE = tmp.ETABLISSEMENT_ID - JOIN ETABLISSEMENT e ON e.STRUCTURE_ID = s.ID - JOIN SOURCE src ON src.CODE = tmp.SOURCE_ID - JOIN THESE t ON t.SOURCE_CODE = tmp.THESE_ID; - CREATE OR REPLACE FORCE VIEW /*"SYGAL".*/"SRC_TITRE_ACCES" ("ID", "SOURCE_CODE", "SOURCE_ID", "THESE_ID", "TITRE_ACCES_INTERNE_EXTERNE", "LIBELLE_TITRE_ACCES", "TYPE_ETB_TITRE_ACCES", "LIBELLE_ETB_TITRE_ACCES", "CODE_DEPT_TITRE_ACCES", "CODE_PAYS_TITRE_ACCES") AS - SELECT - NULL AS id, - tmp.SOURCE_CODE AS SOURCE_CODE, - src.ID AS source_id, - --e.id AS etablissement_id, - t.id AS these_id, - tmp.TITRE_ACCES_INTERNE_EXTERNE, - tmp.LIBELLE_TITRE_ACCES, - tmp.TYPE_ETB_TITRE_ACCES, - tmp.LIBELLE_ETB_TITRE_ACCES, - tmp.CODE_DEPT_TITRE_ACCES, - tmp.CODE_PAYS_TITRE_ACCES -FROM TMP_TITRE_ACCES tmp - JOIN STRUCTURE s ON s.SOURCE_CODE = tmp.ETABLISSEMENT_ID - JOIN ETABLISSEMENT e ON e.STRUCTURE_ID = s.ID - JOIN SOURCE src ON src.CODE = tmp.SOURCE_ID - JOIN THESE t ON t.SOURCE_CODE = tmp.THESE_ID; - CREATE OR REPLACE FORCE VIEW /*"SYGAL".*/"SRC_UNITE_RECH" ("ID", "SOURCE_CODE", "SOURCE_ID", "STRUCTURE_ID") AS - SELECT - NULL AS id, - tmp.SOURCE_CODE as SOURCE_CODE, - src.id AS SOURCE_ID, - s.ID as STRUCTURE_ID -FROM TMP_UNITE_RECH tmp - JOIN STRUCTURE s on s.SOURCE_CODE = tmp.STRUCTURE_ID - JOIN SOURCE src ON src.CODE = tmp.SOURCE_ID; - CREATE OR REPLACE FORCE VIEW /*"SYGAL".*/"SRC_VARIABLE" ("ID", "SOURCE_CODE", "SOURCE_ID", "ETABLISSEMENT_ID", "CODE", "DESCRIPTION", "VALEUR", "DATE_DEB_VALIDITE", "DATE_FIN_VALIDITE") AS - SELECT - NULL AS id, - tmp.SOURCE_CODE, - src.ID AS SOURCE_ID, - e.id AS ETABLISSEMENT_ID, - tmp.COD_VAP AS CODE, - tmp.lib_vap AS DESCRIPTION, - tmp.par_vap AS VALEUR, - tmp.DATE_DEB_VALIDITE, - tmp.DATE_FIN_VALIDITE -FROM TMP_VARIABLE tmp - JOIN STRUCTURE s ON s.SOURCE_CODE = tmp.ETABLISSEMENT_ID - JOIN ETABLISSEMENT e ON e.STRUCTURE_ID = s.ID - JOIN SOURCE src ON src.CODE = tmp.SOURCE_ID; - CREATE OR REPLACE FORCE VIEW /*"SYGAL".*/"V_DIFF_ACTEUR" ("ID", "SOURCE_ID", "SOURCE_CODE", "IMPORT_ACTION", "ACTEUR_ETABLISSEMENT_ID", "INDIVIDU_ID", "LIB_ROLE_COMPL", "QUALITE", "ROLE_ID", "THESE_ID", "U_ACTEUR_ETABLISSEMENT_ID", "U_INDIVIDU_ID", "U_LIB_ROLE_COMPL", "U_QUALITE", "U_ROLE_ID", "U_THESE_ID") AS - select diff."ID",diff."SOURCE_ID",diff."SOURCE_CODE",diff."IMPORT_ACTION",diff."ACTEUR_ETABLISSEMENT_ID",diff."INDIVIDU_ID",diff."LIB_ROLE_COMPL",diff."QUALITE",diff."ROLE_ID",diff."THESE_ID",diff."U_ACTEUR_ETABLISSEMENT_ID",diff."U_INDIVIDU_ID",diff."U_LIB_ROLE_COMPL",diff."U_QUALITE",diff."U_ROLE_ID",diff."U_THESE_ID" from (SELECT - COALESCE( D.id, S.id ) id, - COALESCE( S.source_id, D.source_id ) source_id, - COALESCE( S.source_code, D.source_code ) source_code, -CASE - WHEN S.source_code IS NOT NULL AND D.source_code IS NULL THEN 'insert' - WHEN S.source_code IS NOT NULL AND D.source_code IS NOT NULL AND (D.histo_destruction IS NULL OR D.histo_destruction > SYSDATE) THEN 'update' - WHEN S.source_code IS NULL AND D.source_code IS NOT NULL AND (D.histo_destruction IS NULL OR D.histo_destruction > SYSDATE) THEN 'delete' - WHEN S.source_code IS NOT NULL AND D.source_code IS NOT NULL AND D.histo_destruction IS NOT NULL AND D.histo_destruction <= SYSDATE THEN 'undelete' END import_action, - CASE WHEN S.source_code IS NULL AND D.source_code IS NOT NULL THEN D.ACTEUR_ETABLISSEMENT_ID ELSE S.ACTEUR_ETABLISSEMENT_ID END ACTEUR_ETABLISSEMENT_ID, - CASE WHEN S.source_code IS NULL AND D.source_code IS NOT NULL THEN D.INDIVIDU_ID ELSE S.INDIVIDU_ID END INDIVIDU_ID, - CASE WHEN S.source_code IS NULL AND D.source_code IS NOT NULL THEN D.LIB_ROLE_COMPL ELSE S.LIB_ROLE_COMPL END LIB_ROLE_COMPL, - CASE WHEN S.source_code IS NULL AND D.source_code IS NOT NULL THEN D.QUALITE ELSE S.QUALITE END QUALITE, - CASE WHEN S.source_code IS NULL AND D.source_code IS NOT NULL THEN D.ROLE_ID ELSE S.ROLE_ID END ROLE_ID, - CASE WHEN S.source_code IS NULL AND D.source_code IS NOT NULL THEN D.THESE_ID ELSE S.THESE_ID END THESE_ID, - CASE WHEN D.ACTEUR_ETABLISSEMENT_ID <> S.ACTEUR_ETABLISSEMENT_ID OR (D.ACTEUR_ETABLISSEMENT_ID IS NULL AND S.ACTEUR_ETABLISSEMENT_ID IS NOT NULL) OR (D.ACTEUR_ETABLISSEMENT_ID IS NOT NULL AND S.ACTEUR_ETABLISSEMENT_ID IS NULL) THEN 1 ELSE 0 END U_ACTEUR_ETABLISSEMENT_ID, - CASE WHEN D.INDIVIDU_ID <> S.INDIVIDU_ID OR (D.INDIVIDU_ID IS NULL AND S.INDIVIDU_ID IS NOT NULL) OR (D.INDIVIDU_ID IS NOT NULL AND S.INDIVIDU_ID IS NULL) THEN 1 ELSE 0 END U_INDIVIDU_ID, - CASE WHEN D.LIB_ROLE_COMPL <> S.LIB_ROLE_COMPL OR (D.LIB_ROLE_COMPL IS NULL AND S.LIB_ROLE_COMPL IS NOT NULL) OR (D.LIB_ROLE_COMPL IS NOT NULL AND S.LIB_ROLE_COMPL IS NULL) THEN 1 ELSE 0 END U_LIB_ROLE_COMPL, - CASE WHEN D.QUALITE <> S.QUALITE OR (D.QUALITE IS NULL AND S.QUALITE IS NOT NULL) OR (D.QUALITE IS NOT NULL AND S.QUALITE IS NULL) THEN 1 ELSE 0 END U_QUALITE, - CASE WHEN D.ROLE_ID <> S.ROLE_ID OR (D.ROLE_ID IS NULL AND S.ROLE_ID IS NOT NULL) OR (D.ROLE_ID IS NOT NULL AND S.ROLE_ID IS NULL) THEN 1 ELSE 0 END U_ROLE_ID, - CASE WHEN D.THESE_ID <> S.THESE_ID OR (D.THESE_ID IS NULL AND S.THESE_ID IS NOT NULL) OR (D.THESE_ID IS NOT NULL AND S.THESE_ID IS NULL) THEN 1 ELSE 0 END U_THESE_ID -FROM - ACTEUR D - FULL JOIN SRC_ACTEUR S ON S.source_id = D.source_id AND S.source_code = D.source_code -WHERE - (S.source_code IS NOT NULL AND D.source_code IS NOT NULL AND D.histo_destruction IS NOT NULL AND D.histo_destruction <= SYSDATE) - OR (S.source_code IS NULL AND D.source_code IS NOT NULL AND (D.histo_destruction IS NULL OR D.histo_destruction > SYSDATE)) - OR (S.source_code IS NOT NULL AND D.source_code IS NULL) - OR D.ACTEUR_ETABLISSEMENT_ID <> S.ACTEUR_ETABLISSEMENT_ID OR (D.ACTEUR_ETABLISSEMENT_ID IS NULL AND S.ACTEUR_ETABLISSEMENT_ID IS NOT NULL) OR (D.ACTEUR_ETABLISSEMENT_ID IS NOT NULL AND S.ACTEUR_ETABLISSEMENT_ID IS NULL) - OR D.INDIVIDU_ID <> S.INDIVIDU_ID OR (D.INDIVIDU_ID IS NULL AND S.INDIVIDU_ID IS NOT NULL) OR (D.INDIVIDU_ID IS NOT NULL AND S.INDIVIDU_ID IS NULL) - OR D.LIB_ROLE_COMPL <> S.LIB_ROLE_COMPL OR (D.LIB_ROLE_COMPL IS NULL AND S.LIB_ROLE_COMPL IS NOT NULL) OR (D.LIB_ROLE_COMPL IS NOT NULL AND S.LIB_ROLE_COMPL IS NULL) - OR D.QUALITE <> S.QUALITE OR (D.QUALITE IS NULL AND S.QUALITE IS NOT NULL) OR (D.QUALITE IS NOT NULL AND S.QUALITE IS NULL) - OR D.ROLE_ID <> S.ROLE_ID OR (D.ROLE_ID IS NULL AND S.ROLE_ID IS NOT NULL) OR (D.ROLE_ID IS NOT NULL AND S.ROLE_ID IS NULL) - OR D.THESE_ID <> S.THESE_ID OR (D.THESE_ID IS NULL AND S.THESE_ID IS NOT NULL) OR (D.THESE_ID IS NOT NULL AND S.THESE_ID IS NULL) -) diff JOIN source on source.id = diff.source_id WHERE import_action IS NOT NULL AND source.importable = 1; - CREATE OR REPLACE FORCE VIEW /*"SYGAL".*/"V_DIFF_DOCTORANT" ("ID", "SOURCE_ID", "SOURCE_CODE", "IMPORT_ACTION", "ETABLISSEMENT_ID", "INDIVIDU_ID", "INE", "U_ETABLISSEMENT_ID", "U_INDIVIDU_ID", "U_INE") AS - select diff."ID",diff."SOURCE_ID",diff."SOURCE_CODE",diff."IMPORT_ACTION",diff."ETABLISSEMENT_ID",diff."INDIVIDU_ID",diff."INE",diff."U_ETABLISSEMENT_ID",diff."U_INDIVIDU_ID",diff."U_INE" from (SELECT - COALESCE( D.id, S.id ) id, - COALESCE( S.source_id, D.source_id ) source_id, - COALESCE( S.source_code, D.source_code ) source_code, -CASE - WHEN S.source_code IS NOT NULL AND D.source_code IS NULL THEN 'insert' - WHEN S.source_code IS NOT NULL AND D.source_code IS NOT NULL AND (D.histo_destruction IS NULL OR D.histo_destruction > SYSDATE) THEN 'update' - WHEN S.source_code IS NULL AND D.source_code IS NOT NULL AND (D.histo_destruction IS NULL OR D.histo_destruction > SYSDATE) THEN 'delete' - WHEN S.source_code IS NOT NULL AND D.source_code IS NOT NULL AND D.histo_destruction IS NOT NULL AND D.histo_destruction <= SYSDATE THEN 'undelete' END import_action, - CASE WHEN S.source_code IS NULL AND D.source_code IS NOT NULL THEN D.ETABLISSEMENT_ID ELSE S.ETABLISSEMENT_ID END ETABLISSEMENT_ID, - CASE WHEN S.source_code IS NULL AND D.source_code IS NOT NULL THEN D.INDIVIDU_ID ELSE S.INDIVIDU_ID END INDIVIDU_ID, - CASE WHEN S.source_code IS NULL AND D.source_code IS NOT NULL THEN D.INE ELSE S.INE END INE, - CASE WHEN D.ETABLISSEMENT_ID <> S.ETABLISSEMENT_ID OR (D.ETABLISSEMENT_ID IS NULL AND S.ETABLISSEMENT_ID IS NOT NULL) OR (D.ETABLISSEMENT_ID IS NOT NULL AND S.ETABLISSEMENT_ID IS NULL) THEN 1 ELSE 0 END U_ETABLISSEMENT_ID, - CASE WHEN D.INDIVIDU_ID <> S.INDIVIDU_ID OR (D.INDIVIDU_ID IS NULL AND S.INDIVIDU_ID IS NOT NULL) OR (D.INDIVIDU_ID IS NOT NULL AND S.INDIVIDU_ID IS NULL) THEN 1 ELSE 0 END U_INDIVIDU_ID, - CASE WHEN D.INE <> S.INE OR (D.INE IS NULL AND S.INE IS NOT NULL) OR (D.INE IS NOT NULL AND S.INE IS NULL) THEN 1 ELSE 0 END U_INE -FROM - DOCTORANT D - FULL JOIN SRC_DOCTORANT S ON S.source_id = D.source_id AND S.source_code = D.source_code -WHERE - (S.source_code IS NOT NULL AND D.source_code IS NOT NULL AND D.histo_destruction IS NOT NULL AND D.histo_destruction <= SYSDATE) - OR (S.source_code IS NULL AND D.source_code IS NOT NULL AND (D.histo_destruction IS NULL OR D.histo_destruction > SYSDATE)) - OR (S.source_code IS NOT NULL AND D.source_code IS NULL) - OR D.ETABLISSEMENT_ID <> S.ETABLISSEMENT_ID OR (D.ETABLISSEMENT_ID IS NULL AND S.ETABLISSEMENT_ID IS NOT NULL) OR (D.ETABLISSEMENT_ID IS NOT NULL AND S.ETABLISSEMENT_ID IS NULL) - OR D.INDIVIDU_ID <> S.INDIVIDU_ID OR (D.INDIVIDU_ID IS NULL AND S.INDIVIDU_ID IS NOT NULL) OR (D.INDIVIDU_ID IS NOT NULL AND S.INDIVIDU_ID IS NULL) - OR D.INE <> S.INE OR (D.INE IS NULL AND S.INE IS NOT NULL) OR (D.INE IS NOT NULL AND S.INE IS NULL) -) diff JOIN source on source.id = diff.source_id WHERE import_action IS NOT NULL AND source.importable = 1; - CREATE OR REPLACE FORCE VIEW /*"SYGAL".*/"V_DIFF_ECOLE_DOCT" ("ID", "SOURCE_ID", "SOURCE_CODE", "IMPORT_ACTION", "STRUCTURE_ID", "U_STRUCTURE_ID") AS - select diff."ID",diff."SOURCE_ID",diff."SOURCE_CODE",diff."IMPORT_ACTION",diff."STRUCTURE_ID",diff."U_STRUCTURE_ID" from (SELECT - COALESCE( D.id, S.id ) id, - COALESCE( S.source_id, D.source_id ) source_id, - COALESCE( S.source_code, D.source_code ) source_code, -CASE - WHEN S.source_code IS NOT NULL AND D.source_code IS NULL THEN 'insert' - WHEN S.source_code IS NOT NULL AND D.source_code IS NOT NULL AND (D.histo_destruction IS NULL OR D.histo_destruction > SYSDATE) THEN 'update' - WHEN S.source_code IS NULL AND D.source_code IS NOT NULL AND (D.histo_destruction IS NULL OR D.histo_destruction > SYSDATE) THEN 'delete' - WHEN S.source_code IS NOT NULL AND D.source_code IS NOT NULL AND D.histo_destruction IS NOT NULL AND D.histo_destruction <= SYSDATE THEN 'undelete' END import_action, - CASE WHEN S.source_code IS NULL AND D.source_code IS NOT NULL THEN D.STRUCTURE_ID ELSE S.STRUCTURE_ID END STRUCTURE_ID, - CASE WHEN D.STRUCTURE_ID <> S.STRUCTURE_ID OR (D.STRUCTURE_ID IS NULL AND S.STRUCTURE_ID IS NOT NULL) OR (D.STRUCTURE_ID IS NOT NULL AND S.STRUCTURE_ID IS NULL) THEN 1 ELSE 0 END U_STRUCTURE_ID -FROM - ECOLE_DOCT D - FULL JOIN SRC_ECOLE_DOCT S ON S.source_id = D.source_id AND S.source_code = D.source_code -WHERE - (S.source_code IS NOT NULL AND D.source_code IS NOT NULL AND D.histo_destruction IS NOT NULL AND D.histo_destruction <= SYSDATE) - OR (S.source_code IS NULL AND D.source_code IS NOT NULL AND (D.histo_destruction IS NULL OR D.histo_destruction > SYSDATE)) - OR (S.source_code IS NOT NULL AND D.source_code IS NULL) - OR D.STRUCTURE_ID <> S.STRUCTURE_ID OR (D.STRUCTURE_ID IS NULL AND S.STRUCTURE_ID IS NOT NULL) OR (D.STRUCTURE_ID IS NOT NULL AND S.STRUCTURE_ID IS NULL) -) diff JOIN source on source.id = diff.source_id WHERE import_action IS NOT NULL AND source.importable = 1; - CREATE OR REPLACE FORCE VIEW /*"SYGAL".*/"V_DIFF_ETABLISSEMENT" ("ID", "SOURCE_ID", "SOURCE_CODE", "IMPORT_ACTION", "STRUCTURE_ID", "U_STRUCTURE_ID") AS - select diff."ID",diff."SOURCE_ID",diff."SOURCE_CODE",diff."IMPORT_ACTION",diff."STRUCTURE_ID",diff."U_STRUCTURE_ID" from (SELECT - COALESCE( D.id, S.id ) id, - COALESCE( S.source_id, D.source_id ) source_id, - COALESCE( S.source_code, D.source_code ) source_code, -CASE - WHEN S.source_code IS NOT NULL AND D.source_code IS NULL THEN 'insert' - WHEN S.source_code IS NOT NULL AND D.source_code IS NOT NULL AND (D.histo_destruction IS NULL OR D.histo_destruction > SYSDATE) THEN 'update' - WHEN S.source_code IS NULL AND D.source_code IS NOT NULL AND (D.histo_destruction IS NULL OR D.histo_destruction > SYSDATE) THEN 'delete' - WHEN S.source_code IS NOT NULL AND D.source_code IS NOT NULL AND D.histo_destruction IS NOT NULL AND D.histo_destruction <= SYSDATE THEN 'undelete' END import_action, - CASE WHEN S.source_code IS NULL AND D.source_code IS NOT NULL THEN D.STRUCTURE_ID ELSE S.STRUCTURE_ID END STRUCTURE_ID, - CASE WHEN D.STRUCTURE_ID <> S.STRUCTURE_ID OR (D.STRUCTURE_ID IS NULL AND S.STRUCTURE_ID IS NOT NULL) OR (D.STRUCTURE_ID IS NOT NULL AND S.STRUCTURE_ID IS NULL) THEN 1 ELSE 0 END U_STRUCTURE_ID -FROM - ETABLISSEMENT D - FULL JOIN SRC_ETABLISSEMENT S ON S.source_id = D.source_id AND S.source_code = D.source_code -WHERE - (S.source_code IS NOT NULL AND D.source_code IS NOT NULL AND D.histo_destruction IS NOT NULL AND D.histo_destruction <= SYSDATE) - OR (S.source_code IS NULL AND D.source_code IS NOT NULL AND (D.histo_destruction IS NULL OR D.histo_destruction > SYSDATE)) - OR (S.source_code IS NOT NULL AND D.source_code IS NULL) - OR D.STRUCTURE_ID <> S.STRUCTURE_ID OR (D.STRUCTURE_ID IS NULL AND S.STRUCTURE_ID IS NOT NULL) OR (D.STRUCTURE_ID IS NOT NULL AND S.STRUCTURE_ID IS NULL) -) diff JOIN source on source.id = diff.source_id WHERE import_action IS NOT NULL AND source.importable = 1; - CREATE OR REPLACE FORCE VIEW /*"SYGAL".*/"V_DIFF_FINANCEMENT" ("ID", "SOURCE_ID", "SOURCE_CODE", "IMPORT_ACTION", "ANNEE", "COMPLEMENT_FINANCEMENT", "DATE_DEBUT", "DATE_FIN", "ORIGINE_FINANCEMENT_ID", "QUOTITE_FINANCEMENT", "THESE_ID", "U_ANNEE", "U_COMPLEMENT_FINANCEMENT", "U_DATE_DEBUT", "U_DATE_FIN", "U_ORIGINE_FINANCEMENT_ID", "U_QUOTITE_FINANCEMENT", "U_THESE_ID") AS - select diff."ID",diff."SOURCE_ID",diff."SOURCE_CODE",diff."IMPORT_ACTION",diff."ANNEE",diff."COMPLEMENT_FINANCEMENT",diff."DATE_DEBUT",diff."DATE_FIN",diff."ORIGINE_FINANCEMENT_ID",diff."QUOTITE_FINANCEMENT",diff."THESE_ID",diff."U_ANNEE",diff."U_COMPLEMENT_FINANCEMENT",diff."U_DATE_DEBUT",diff."U_DATE_FIN",diff."U_ORIGINE_FINANCEMENT_ID",diff."U_QUOTITE_FINANCEMENT",diff."U_THESE_ID" from (SELECT - COALESCE( D.id, S.id ) id, - COALESCE( S.source_id, D.source_id ) source_id, - COALESCE( S.source_code, D.source_code ) source_code, -CASE - WHEN S.source_code IS NOT NULL AND D.source_code IS NULL THEN 'insert' - WHEN S.source_code IS NOT NULL AND D.source_code IS NOT NULL AND (D.histo_destruction IS NULL OR D.histo_destruction > SYSDATE) THEN 'update' - WHEN S.source_code IS NULL AND D.source_code IS NOT NULL AND (D.histo_destruction IS NULL OR D.histo_destruction > SYSDATE) THEN 'delete' - WHEN S.source_code IS NOT NULL AND D.source_code IS NOT NULL AND D.histo_destruction IS NOT NULL AND D.histo_destruction <= SYSDATE THEN 'undelete' END import_action, - CASE WHEN S.source_code IS NULL AND D.source_code IS NOT NULL THEN D.ANNEE ELSE S.ANNEE END ANNEE, - CASE WHEN S.source_code IS NULL AND D.source_code IS NOT NULL THEN D.COMPLEMENT_FINANCEMENT ELSE S.COMPLEMENT_FINANCEMENT END COMPLEMENT_FINANCEMENT, - CASE WHEN S.source_code IS NULL AND D.source_code IS NOT NULL THEN D.DATE_DEBUT ELSE S.DATE_DEBUT END DATE_DEBUT, - CASE WHEN S.source_code IS NULL AND D.source_code IS NOT NULL THEN D.DATE_FIN ELSE S.DATE_FIN END DATE_FIN, - CASE WHEN S.source_code IS NULL AND D.source_code IS NOT NULL THEN D.ORIGINE_FINANCEMENT_ID ELSE S.ORIGINE_FINANCEMENT_ID END ORIGINE_FINANCEMENT_ID, - CASE WHEN S.source_code IS NULL AND D.source_code IS NOT NULL THEN D.QUOTITE_FINANCEMENT ELSE S.QUOTITE_FINANCEMENT END QUOTITE_FINANCEMENT, - CASE WHEN S.source_code IS NULL AND D.source_code IS NOT NULL THEN D.THESE_ID ELSE S.THESE_ID END THESE_ID, - CASE WHEN D.ANNEE <> S.ANNEE OR (D.ANNEE IS NULL AND S.ANNEE IS NOT NULL) OR (D.ANNEE IS NOT NULL AND S.ANNEE IS NULL) THEN 1 ELSE 0 END U_ANNEE, - CASE WHEN D.COMPLEMENT_FINANCEMENT <> S.COMPLEMENT_FINANCEMENT OR (D.COMPLEMENT_FINANCEMENT IS NULL AND S.COMPLEMENT_FINANCEMENT IS NOT NULL) OR (D.COMPLEMENT_FINANCEMENT IS NOT NULL AND S.COMPLEMENT_FINANCEMENT IS NULL) THEN 1 ELSE 0 END U_COMPLEMENT_FINANCEMENT, - CASE WHEN D.DATE_DEBUT <> S.DATE_DEBUT OR (D.DATE_DEBUT IS NULL AND S.DATE_DEBUT IS NOT NULL) OR (D.DATE_DEBUT IS NOT NULL AND S.DATE_DEBUT IS NULL) THEN 1 ELSE 0 END U_DATE_DEBUT, - CASE WHEN D.DATE_FIN <> S.DATE_FIN OR (D.DATE_FIN IS NULL AND S.DATE_FIN IS NOT NULL) OR (D.DATE_FIN IS NOT NULL AND S.DATE_FIN IS NULL) THEN 1 ELSE 0 END U_DATE_FIN, - CASE WHEN D.ORIGINE_FINANCEMENT_ID <> S.ORIGINE_FINANCEMENT_ID OR (D.ORIGINE_FINANCEMENT_ID IS NULL AND S.ORIGINE_FINANCEMENT_ID IS NOT NULL) OR (D.ORIGINE_FINANCEMENT_ID IS NOT NULL AND S.ORIGINE_FINANCEMENT_ID IS NULL) THEN 1 ELSE 0 END U_ORIGINE_FINANCEMENT_ID, - CASE WHEN D.QUOTITE_FINANCEMENT <> S.QUOTITE_FINANCEMENT OR (D.QUOTITE_FINANCEMENT IS NULL AND S.QUOTITE_FINANCEMENT IS NOT NULL) OR (D.QUOTITE_FINANCEMENT IS NOT NULL AND S.QUOTITE_FINANCEMENT IS NULL) THEN 1 ELSE 0 END U_QUOTITE_FINANCEMENT, - CASE WHEN D.THESE_ID <> S.THESE_ID OR (D.THESE_ID IS NULL AND S.THESE_ID IS NOT NULL) OR (D.THESE_ID IS NOT NULL AND S.THESE_ID IS NULL) THEN 1 ELSE 0 END U_THESE_ID -FROM - FINANCEMENT D - FULL JOIN SRC_FINANCEMENT S ON S.source_id = D.source_id AND S.source_code = D.source_code -WHERE - (S.source_code IS NOT NULL AND D.source_code IS NOT NULL AND D.histo_destruction IS NOT NULL AND D.histo_destruction <= SYSDATE) - OR (S.source_code IS NULL AND D.source_code IS NOT NULL AND (D.histo_destruction IS NULL OR D.histo_destruction > SYSDATE)) - OR (S.source_code IS NOT NULL AND D.source_code IS NULL) - OR D.ANNEE <> S.ANNEE OR (D.ANNEE IS NULL AND S.ANNEE IS NOT NULL) OR (D.ANNEE IS NOT NULL AND S.ANNEE IS NULL) - OR D.COMPLEMENT_FINANCEMENT <> S.COMPLEMENT_FINANCEMENT OR (D.COMPLEMENT_FINANCEMENT IS NULL AND S.COMPLEMENT_FINANCEMENT IS NOT NULL) OR (D.COMPLEMENT_FINANCEMENT IS NOT NULL AND S.COMPLEMENT_FINANCEMENT IS NULL) - OR D.DATE_DEBUT <> S.DATE_DEBUT OR (D.DATE_DEBUT IS NULL AND S.DATE_DEBUT IS NOT NULL) OR (D.DATE_DEBUT IS NOT NULL AND S.DATE_DEBUT IS NULL) - OR D.DATE_FIN <> S.DATE_FIN OR (D.DATE_FIN IS NULL AND S.DATE_FIN IS NOT NULL) OR (D.DATE_FIN IS NOT NULL AND S.DATE_FIN IS NULL) - OR D.ORIGINE_FINANCEMENT_ID <> S.ORIGINE_FINANCEMENT_ID OR (D.ORIGINE_FINANCEMENT_ID IS NULL AND S.ORIGINE_FINANCEMENT_ID IS NOT NULL) OR (D.ORIGINE_FINANCEMENT_ID IS NOT NULL AND S.ORIGINE_FINANCEMENT_ID IS NULL) - OR D.QUOTITE_FINANCEMENT <> S.QUOTITE_FINANCEMENT OR (D.QUOTITE_FINANCEMENT IS NULL AND S.QUOTITE_FINANCEMENT IS NOT NULL) OR (D.QUOTITE_FINANCEMENT IS NOT NULL AND S.QUOTITE_FINANCEMENT IS NULL) - OR D.THESE_ID <> S.THESE_ID OR (D.THESE_ID IS NULL AND S.THESE_ID IS NOT NULL) OR (D.THESE_ID IS NOT NULL AND S.THESE_ID IS NULL) -) diff JOIN source on source.id = diff.source_id WHERE import_action IS NOT NULL AND source.importable = 1; - CREATE OR REPLACE FORCE VIEW /*"SYGAL".*/"V_DIFF_INDIVIDU" ("ID", "SOURCE_ID", "SOURCE_CODE", "IMPORT_ACTION", "CIVILITE", "DATE_NAISSANCE", "EMAIL", "NATIONALITE", "NOM_PATRONYMIQUE", "NOM_USUEL", "PRENOM1", "PRENOM2", "PRENOM3", "SUPANN_ID", "TYPE", "U_CIVILITE", "U_DATE_NAISSANCE", "U_EMAIL", "U_NATIONALITE", "U_NOM_PATRONYMIQUE", "U_NOM_USUEL", "U_PRENOM1", "U_PRENOM2", "U_PRENOM3", "U_SUPANN_ID", "U_TYPE") AS - select diff."ID",diff."SOURCE_ID",diff."SOURCE_CODE",diff."IMPORT_ACTION",diff."CIVILITE",diff."DATE_NAISSANCE",diff."EMAIL",diff."NATIONALITE",diff."NOM_PATRONYMIQUE",diff."NOM_USUEL",diff."PRENOM1",diff."PRENOM2",diff."PRENOM3",diff."SUPANN_ID",diff."TYPE",diff."U_CIVILITE",diff."U_DATE_NAISSANCE",diff."U_EMAIL",diff."U_NATIONALITE",diff."U_NOM_PATRONYMIQUE",diff."U_NOM_USUEL",diff."U_PRENOM1",diff."U_PRENOM2",diff."U_PRENOM3",diff."U_SUPANN_ID",diff."U_TYPE" from (SELECT - COALESCE( D.id, S.id ) id, - COALESCE( S.source_id, D.source_id ) source_id, - COALESCE( S.source_code, D.source_code ) source_code, -CASE - WHEN S.source_code IS NOT NULL AND D.source_code IS NULL THEN 'insert' - WHEN S.source_code IS NOT NULL AND D.source_code IS NOT NULL AND (D.histo_destruction IS NULL OR D.histo_destruction > SYSDATE) THEN 'update' - WHEN S.source_code IS NULL AND D.source_code IS NOT NULL AND (D.histo_destruction IS NULL OR D.histo_destruction > SYSDATE) THEN 'delete' - WHEN S.source_code IS NOT NULL AND D.source_code IS NOT NULL AND D.histo_destruction IS NOT NULL AND D.histo_destruction <= SYSDATE THEN 'undelete' END import_action, - CASE WHEN S.source_code IS NULL AND D.source_code IS NOT NULL THEN D.CIVILITE ELSE S.CIVILITE END CIVILITE, - CASE WHEN S.source_code IS NULL AND D.source_code IS NOT NULL THEN D.DATE_NAISSANCE ELSE S.DATE_NAISSANCE END DATE_NAISSANCE, - CASE WHEN S.source_code IS NULL AND D.source_code IS NOT NULL THEN D.EMAIL ELSE S.EMAIL END EMAIL, - CASE WHEN S.source_code IS NULL AND D.source_code IS NOT NULL THEN D.NATIONALITE ELSE S.NATIONALITE END NATIONALITE, - CASE WHEN S.source_code IS NULL AND D.source_code IS NOT NULL THEN D.NOM_PATRONYMIQUE ELSE S.NOM_PATRONYMIQUE END NOM_PATRONYMIQUE, - CASE WHEN S.source_code IS NULL AND D.source_code IS NOT NULL THEN D.NOM_USUEL ELSE S.NOM_USUEL END NOM_USUEL, - CASE WHEN S.source_code IS NULL AND D.source_code IS NOT NULL THEN D.PRENOM1 ELSE S.PRENOM1 END PRENOM1, - CASE WHEN S.source_code IS NULL AND D.source_code IS NOT NULL THEN D.PRENOM2 ELSE S.PRENOM2 END PRENOM2, - CASE WHEN S.source_code IS NULL AND D.source_code IS NOT NULL THEN D.PRENOM3 ELSE S.PRENOM3 END PRENOM3, - CASE WHEN S.source_code IS NULL AND D.source_code IS NOT NULL THEN D.SUPANN_ID ELSE S.SUPANN_ID END SUPANN_ID, - CASE WHEN S.source_code IS NULL AND D.source_code IS NOT NULL THEN D.TYPE ELSE S.TYPE END TYPE, - CASE WHEN D.CIVILITE <> S.CIVILITE OR (D.CIVILITE IS NULL AND S.CIVILITE IS NOT NULL) OR (D.CIVILITE IS NOT NULL AND S.CIVILITE IS NULL) THEN 1 ELSE 0 END U_CIVILITE, - CASE WHEN D.DATE_NAISSANCE <> S.DATE_NAISSANCE OR (D.DATE_NAISSANCE IS NULL AND S.DATE_NAISSANCE IS NOT NULL) OR (D.DATE_NAISSANCE IS NOT NULL AND S.DATE_NAISSANCE IS NULL) THEN 1 ELSE 0 END U_DATE_NAISSANCE, - CASE WHEN D.EMAIL <> S.EMAIL OR (D.EMAIL IS NULL AND S.EMAIL IS NOT NULL) OR (D.EMAIL IS NOT NULL AND S.EMAIL IS NULL) THEN 1 ELSE 0 END U_EMAIL, - CASE WHEN D.NATIONALITE <> S.NATIONALITE OR (D.NATIONALITE IS NULL AND S.NATIONALITE IS NOT NULL) OR (D.NATIONALITE IS NOT NULL AND S.NATIONALITE IS NULL) THEN 1 ELSE 0 END U_NATIONALITE, - CASE WHEN D.NOM_PATRONYMIQUE <> S.NOM_PATRONYMIQUE OR (D.NOM_PATRONYMIQUE IS NULL AND S.NOM_PATRONYMIQUE IS NOT NULL) OR (D.NOM_PATRONYMIQUE IS NOT NULL AND S.NOM_PATRONYMIQUE IS NULL) THEN 1 ELSE 0 END U_NOM_PATRONYMIQUE, - CASE WHEN D.NOM_USUEL <> S.NOM_USUEL OR (D.NOM_USUEL IS NULL AND S.NOM_USUEL IS NOT NULL) OR (D.NOM_USUEL IS NOT NULL AND S.NOM_USUEL IS NULL) THEN 1 ELSE 0 END U_NOM_USUEL, - CASE WHEN D.PRENOM1 <> S.PRENOM1 OR (D.PRENOM1 IS NULL AND S.PRENOM1 IS NOT NULL) OR (D.PRENOM1 IS NOT NULL AND S.PRENOM1 IS NULL) THEN 1 ELSE 0 END U_PRENOM1, - CASE WHEN D.PRENOM2 <> S.PRENOM2 OR (D.PRENOM2 IS NULL AND S.PRENOM2 IS NOT NULL) OR (D.PRENOM2 IS NOT NULL AND S.PRENOM2 IS NULL) THEN 1 ELSE 0 END U_PRENOM2, - CASE WHEN D.PRENOM3 <> S.PRENOM3 OR (D.PRENOM3 IS NULL AND S.PRENOM3 IS NOT NULL) OR (D.PRENOM3 IS NOT NULL AND S.PRENOM3 IS NULL) THEN 1 ELSE 0 END U_PRENOM3, - CASE WHEN D.SUPANN_ID <> S.SUPANN_ID OR (D.SUPANN_ID IS NULL AND S.SUPANN_ID IS NOT NULL) OR (D.SUPANN_ID IS NOT NULL AND S.SUPANN_ID IS NULL) THEN 1 ELSE 0 END U_SUPANN_ID, - CASE WHEN D.TYPE <> S.TYPE OR (D.TYPE IS NULL AND S.TYPE IS NOT NULL) OR (D.TYPE IS NOT NULL AND S.TYPE IS NULL) THEN 1 ELSE 0 END U_TYPE -FROM - INDIVIDU D - FULL JOIN SRC_INDIVIDU S ON S.source_id = D.source_id AND S.source_code = D.source_code -WHERE - (S.source_code IS NOT NULL AND D.source_code IS NOT NULL AND D.histo_destruction IS NOT NULL AND D.histo_destruction <= SYSDATE) - OR (S.source_code IS NULL AND D.source_code IS NOT NULL AND (D.histo_destruction IS NULL OR D.histo_destruction > SYSDATE)) - OR (S.source_code IS NOT NULL AND D.source_code IS NULL) - OR D.CIVILITE <> S.CIVILITE OR (D.CIVILITE IS NULL AND S.CIVILITE IS NOT NULL) OR (D.CIVILITE IS NOT NULL AND S.CIVILITE IS NULL) - OR D.DATE_NAISSANCE <> S.DATE_NAISSANCE OR (D.DATE_NAISSANCE IS NULL AND S.DATE_NAISSANCE IS NOT NULL) OR (D.DATE_NAISSANCE IS NOT NULL AND S.DATE_NAISSANCE IS NULL) - OR D.EMAIL <> S.EMAIL OR (D.EMAIL IS NULL AND S.EMAIL IS NOT NULL) OR (D.EMAIL IS NOT NULL AND S.EMAIL IS NULL) - OR D.NATIONALITE <> S.NATIONALITE OR (D.NATIONALITE IS NULL AND S.NATIONALITE IS NOT NULL) OR (D.NATIONALITE IS NOT NULL AND S.NATIONALITE IS NULL) - OR D.NOM_PATRONYMIQUE <> S.NOM_PATRONYMIQUE OR (D.NOM_PATRONYMIQUE IS NULL AND S.NOM_PATRONYMIQUE IS NOT NULL) OR (D.NOM_PATRONYMIQUE IS NOT NULL AND S.NOM_PATRONYMIQUE IS NULL) - OR D.NOM_USUEL <> S.NOM_USUEL OR (D.NOM_USUEL IS NULL AND S.NOM_USUEL IS NOT NULL) OR (D.NOM_USUEL IS NOT NULL AND S.NOM_USUEL IS NULL) - OR D.PRENOM1 <> S.PRENOM1 OR (D.PRENOM1 IS NULL AND S.PRENOM1 IS NOT NULL) OR (D.PRENOM1 IS NOT NULL AND S.PRENOM1 IS NULL) - OR D.PRENOM2 <> S.PRENOM2 OR (D.PRENOM2 IS NULL AND S.PRENOM2 IS NOT NULL) OR (D.PRENOM2 IS NOT NULL AND S.PRENOM2 IS NULL) - OR D.PRENOM3 <> S.PRENOM3 OR (D.PRENOM3 IS NULL AND S.PRENOM3 IS NOT NULL) OR (D.PRENOM3 IS NOT NULL AND S.PRENOM3 IS NULL) - OR D.SUPANN_ID <> S.SUPANN_ID OR (D.SUPANN_ID IS NULL AND S.SUPANN_ID IS NOT NULL) OR (D.SUPANN_ID IS NOT NULL AND S.SUPANN_ID IS NULL) - OR D.TYPE <> S.TYPE OR (D.TYPE IS NULL AND S.TYPE IS NOT NULL) OR (D.TYPE IS NOT NULL AND S.TYPE IS NULL) -) diff JOIN source on source.id = diff.source_id WHERE import_action IS NOT NULL AND source.importable = 1; - CREATE OR REPLACE FORCE VIEW /*"SYGAL".*/"V_DIFF_ROLE" ("ID", "SOURCE_ID", "SOURCE_CODE", "IMPORT_ACTION", "CODE", "LIBELLE", "ROLE_ID", "STRUCTURE_ID", "THESE_DEP", "TYPE_STRUCTURE_DEPENDANT_ID", "U_CODE", "U_LIBELLE", "U_ROLE_ID", "U_STRUCTURE_ID", "U_THESE_DEP", "U_TYPE_STRUCTURE_DEPENDANT_ID") AS - select diff."ID",diff."SOURCE_ID",diff."SOURCE_CODE",diff."IMPORT_ACTION",diff."CODE",diff."LIBELLE",diff."ROLE_ID",diff."STRUCTURE_ID",diff."THESE_DEP",diff."TYPE_STRUCTURE_DEPENDANT_ID",diff."U_CODE",diff."U_LIBELLE",diff."U_ROLE_ID",diff."U_STRUCTURE_ID",diff."U_THESE_DEP",diff."U_TYPE_STRUCTURE_DEPENDANT_ID" from (SELECT - COALESCE( D.id, S.id ) id, - COALESCE( S.source_id, D.source_id ) source_id, - COALESCE( S.source_code, D.source_code ) source_code, -CASE - WHEN S.source_code IS NOT NULL AND D.source_code IS NULL THEN 'insert' - WHEN S.source_code IS NOT NULL AND D.source_code IS NOT NULL AND (D.histo_destruction IS NULL OR D.histo_destruction > SYSDATE) THEN 'update' - WHEN S.source_code IS NULL AND D.source_code IS NOT NULL AND (D.histo_destruction IS NULL OR D.histo_destruction > SYSDATE) THEN 'delete' - WHEN S.source_code IS NOT NULL AND D.source_code IS NOT NULL AND D.histo_destruction IS NOT NULL AND D.histo_destruction <= SYSDATE THEN 'undelete' END import_action, - CASE WHEN S.source_code IS NULL AND D.source_code IS NOT NULL THEN D.CODE ELSE S.CODE END CODE, - CASE WHEN S.source_code IS NULL AND D.source_code IS NOT NULL THEN D.LIBELLE ELSE S.LIBELLE END LIBELLE, - CASE WHEN S.source_code IS NULL AND D.source_code IS NOT NULL THEN D.ROLE_ID ELSE S.ROLE_ID END ROLE_ID, - CASE WHEN S.source_code IS NULL AND D.source_code IS NOT NULL THEN D.STRUCTURE_ID ELSE S.STRUCTURE_ID END STRUCTURE_ID, - CASE WHEN S.source_code IS NULL AND D.source_code IS NOT NULL THEN D.THESE_DEP ELSE S.THESE_DEP END THESE_DEP, - CASE WHEN S.source_code IS NULL AND D.source_code IS NOT NULL THEN D.TYPE_STRUCTURE_DEPENDANT_ID ELSE S.TYPE_STRUCTURE_DEPENDANT_ID END TYPE_STRUCTURE_DEPENDANT_ID, - CASE WHEN D.CODE <> S.CODE OR (D.CODE IS NULL AND S.CODE IS NOT NULL) OR (D.CODE IS NOT NULL AND S.CODE IS NULL) THEN 1 ELSE 0 END U_CODE, - CASE WHEN D.LIBELLE <> S.LIBELLE OR (D.LIBELLE IS NULL AND S.LIBELLE IS NOT NULL) OR (D.LIBELLE IS NOT NULL AND S.LIBELLE IS NULL) THEN 1 ELSE 0 END U_LIBELLE, - CASE WHEN D.ROLE_ID <> S.ROLE_ID OR (D.ROLE_ID IS NULL AND S.ROLE_ID IS NOT NULL) OR (D.ROLE_ID IS NOT NULL AND S.ROLE_ID IS NULL) THEN 1 ELSE 0 END U_ROLE_ID, - CASE WHEN D.STRUCTURE_ID <> S.STRUCTURE_ID OR (D.STRUCTURE_ID IS NULL AND S.STRUCTURE_ID IS NOT NULL) OR (D.STRUCTURE_ID IS NOT NULL AND S.STRUCTURE_ID IS NULL) THEN 1 ELSE 0 END U_STRUCTURE_ID, - CASE WHEN D.THESE_DEP <> S.THESE_DEP OR (D.THESE_DEP IS NULL AND S.THESE_DEP IS NOT NULL) OR (D.THESE_DEP IS NOT NULL AND S.THESE_DEP IS NULL) THEN 1 ELSE 0 END U_THESE_DEP, - CASE WHEN D.TYPE_STRUCTURE_DEPENDANT_ID <> S.TYPE_STRUCTURE_DEPENDANT_ID OR (D.TYPE_STRUCTURE_DEPENDANT_ID IS NULL AND S.TYPE_STRUCTURE_DEPENDANT_ID IS NOT NULL) OR (D.TYPE_STRUCTURE_DEPENDANT_ID IS NOT NULL AND S.TYPE_STRUCTURE_DEPENDANT_ID IS NULL) THEN 1 ELSE 0 END U_TYPE_STRUCTURE_DEPENDANT_ID -FROM - ROLE D - FULL JOIN SRC_ROLE S ON S.source_id = D.source_id AND S.source_code = D.source_code -WHERE - (S.source_code IS NOT NULL AND D.source_code IS NOT NULL AND D.histo_destruction IS NOT NULL AND D.histo_destruction <= SYSDATE) - OR (S.source_code IS NULL AND D.source_code IS NOT NULL AND (D.histo_destruction IS NULL OR D.histo_destruction > SYSDATE)) - OR (S.source_code IS NOT NULL AND D.source_code IS NULL) - OR D.CODE <> S.CODE OR (D.CODE IS NULL AND S.CODE IS NOT NULL) OR (D.CODE IS NOT NULL AND S.CODE IS NULL) - OR D.LIBELLE <> S.LIBELLE OR (D.LIBELLE IS NULL AND S.LIBELLE IS NOT NULL) OR (D.LIBELLE IS NOT NULL AND S.LIBELLE IS NULL) - OR D.ROLE_ID <> S.ROLE_ID OR (D.ROLE_ID IS NULL AND S.ROLE_ID IS NOT NULL) OR (D.ROLE_ID IS NOT NULL AND S.ROLE_ID IS NULL) - OR D.STRUCTURE_ID <> S.STRUCTURE_ID OR (D.STRUCTURE_ID IS NULL AND S.STRUCTURE_ID IS NOT NULL) OR (D.STRUCTURE_ID IS NOT NULL AND S.STRUCTURE_ID IS NULL) - OR D.THESE_DEP <> S.THESE_DEP OR (D.THESE_DEP IS NULL AND S.THESE_DEP IS NOT NULL) OR (D.THESE_DEP IS NOT NULL AND S.THESE_DEP IS NULL) - OR D.TYPE_STRUCTURE_DEPENDANT_ID <> S.TYPE_STRUCTURE_DEPENDANT_ID OR (D.TYPE_STRUCTURE_DEPENDANT_ID IS NULL AND S.TYPE_STRUCTURE_DEPENDANT_ID IS NOT NULL) OR (D.TYPE_STRUCTURE_DEPENDANT_ID IS NOT NULL AND S.TYPE_STRUCTURE_DEPENDANT_ID IS NULL) -) diff JOIN source on source.id = diff.source_id WHERE import_action IS NOT NULL AND source.importable = 1; - CREATE OR REPLACE FORCE VIEW /*"SYGAL".*/"V_DIFF_STRUCTURE" ("ID", "SOURCE_ID", "SOURCE_CODE", "IMPORT_ACTION", "CODE", "LIBELLE", "SIGLE", "TYPE_STRUCTURE_ID", "U_CODE", "U_LIBELLE", "U_SIGLE", "U_TYPE_STRUCTURE_ID") AS - select diff."ID",diff."SOURCE_ID",diff."SOURCE_CODE",diff."IMPORT_ACTION",diff."CODE",diff."LIBELLE",diff."SIGLE",diff."TYPE_STRUCTURE_ID",diff."U_CODE",diff."U_LIBELLE",diff."U_SIGLE",diff."U_TYPE_STRUCTURE_ID" from (SELECT - COALESCE( D.id, S.id ) id, - COALESCE( S.source_id, D.source_id ) source_id, - COALESCE( S.source_code, D.source_code ) source_code, -CASE - WHEN S.source_code IS NOT NULL AND D.source_code IS NULL THEN 'insert' - WHEN S.source_code IS NOT NULL AND D.source_code IS NOT NULL AND (D.histo_destruction IS NULL OR D.histo_destruction > SYSDATE) THEN 'update' - WHEN S.source_code IS NULL AND D.source_code IS NOT NULL AND (D.histo_destruction IS NULL OR D.histo_destruction > SYSDATE) THEN 'delete' - WHEN S.source_code IS NOT NULL AND D.source_code IS NOT NULL AND D.histo_destruction IS NOT NULL AND D.histo_destruction <= SYSDATE THEN 'undelete' END import_action, - CASE WHEN S.source_code IS NULL AND D.source_code IS NOT NULL THEN D.CODE ELSE S.CODE END CODE, - CASE WHEN S.source_code IS NULL AND D.source_code IS NOT NULL THEN D.LIBELLE ELSE S.LIBELLE END LIBELLE, - CASE WHEN S.source_code IS NULL AND D.source_code IS NOT NULL THEN D.SIGLE ELSE S.SIGLE END SIGLE, - CASE WHEN S.source_code IS NULL AND D.source_code IS NOT NULL THEN D.TYPE_STRUCTURE_ID ELSE S.TYPE_STRUCTURE_ID END TYPE_STRUCTURE_ID, - CASE WHEN D.CODE <> S.CODE OR (D.CODE IS NULL AND S.CODE IS NOT NULL) OR (D.CODE IS NOT NULL AND S.CODE IS NULL) THEN 1 ELSE 0 END U_CODE, - CASE WHEN D.LIBELLE <> S.LIBELLE OR (D.LIBELLE IS NULL AND S.LIBELLE IS NOT NULL) OR (D.LIBELLE IS NOT NULL AND S.LIBELLE IS NULL) THEN 1 ELSE 0 END U_LIBELLE, - CASE WHEN D.SIGLE <> S.SIGLE OR (D.SIGLE IS NULL AND S.SIGLE IS NOT NULL) OR (D.SIGLE IS NOT NULL AND S.SIGLE IS NULL) THEN 1 ELSE 0 END U_SIGLE, - CASE WHEN D.TYPE_STRUCTURE_ID <> S.TYPE_STRUCTURE_ID OR (D.TYPE_STRUCTURE_ID IS NULL AND S.TYPE_STRUCTURE_ID IS NOT NULL) OR (D.TYPE_STRUCTURE_ID IS NOT NULL AND S.TYPE_STRUCTURE_ID IS NULL) THEN 1 ELSE 0 END U_TYPE_STRUCTURE_ID -FROM - STRUCTURE D - FULL JOIN SRC_STRUCTURE S ON S.source_id = D.source_id AND S.source_code = D.source_code -WHERE - (S.source_code IS NOT NULL AND D.source_code IS NOT NULL AND D.histo_destruction IS NOT NULL AND D.histo_destruction <= SYSDATE) - OR (S.source_code IS NULL AND D.source_code IS NOT NULL AND (D.histo_destruction IS NULL OR D.histo_destruction > SYSDATE)) - OR (S.source_code IS NOT NULL AND D.source_code IS NULL) - OR D.CODE <> S.CODE OR (D.CODE IS NULL AND S.CODE IS NOT NULL) OR (D.CODE IS NOT NULL AND S.CODE IS NULL) - OR D.LIBELLE <> S.LIBELLE OR (D.LIBELLE IS NULL AND S.LIBELLE IS NOT NULL) OR (D.LIBELLE IS NOT NULL AND S.LIBELLE IS NULL) - OR D.SIGLE <> S.SIGLE OR (D.SIGLE IS NULL AND S.SIGLE IS NOT NULL) OR (D.SIGLE IS NOT NULL AND S.SIGLE IS NULL) - OR D.TYPE_STRUCTURE_ID <> S.TYPE_STRUCTURE_ID OR (D.TYPE_STRUCTURE_ID IS NULL AND S.TYPE_STRUCTURE_ID IS NOT NULL) OR (D.TYPE_STRUCTURE_ID IS NOT NULL AND S.TYPE_STRUCTURE_ID IS NULL) -) diff JOIN source on source.id = diff.source_id WHERE import_action IS NOT NULL AND source.importable = 1; - CREATE OR REPLACE FORCE VIEW /*"SYGAL".*/"V_DIFF_THESE" ("ID", "SOURCE_ID", "SOURCE_CODE", "IMPORT_ACTION", "ANNEE_UNIV_1ERE_INSC", "CORREC_AUTORISEE", "DATE_ABANDON", "DATE_AUTORIS_SOUTENANCE", "DATE_FIN_CONFID", "DATE_PREM_INSC", "DATE_PREV_SOUTENANCE", "DATE_SOUTENANCE", "DATE_TRANSFERT", "DOCTORANT_ID", "ECOLE_DOCT_ID", "ETABLISSEMENT_ID", "ETAT_THESE", "LIB_DISC", "LIB_ETAB_COTUT", "LIB_PAYS_COTUT", "RESULTAT", "SOUTENANCE_AUTORIS", "TEM_AVENANT_COTUT", "TITRE", "UNITE_RECH_ID", "U_ANNEE_UNIV_1ERE_INSC", "U_CORREC_AUTORISEE", "U_DATE_ABANDON", "U_DATE_AUTORIS_SOUTENANCE", "U_DATE_FIN_CONFID", "U_DATE_PREM_INSC", "U_DATE_PREV_SOUTENANCE", "U_DATE_SOUTENANCE", "U_DATE_TRANSFERT", "U_DOCTORANT_ID", "U_ECOLE_DOCT_ID", "U_ETABLISSEMENT_ID", "U_ETAT_THESE", "U_LIB_DISC", "U_LIB_ETAB_COTUT", "U_LIB_PAYS_COTUT", "U_RESULTAT", "U_SOUTENANCE_AUTORIS", "U_TEM_AVENANT_COTUT", "U_TITRE", "U_UNITE_RECH_ID") AS - select diff."ID",diff."SOURCE_ID",diff."SOURCE_CODE",diff."IMPORT_ACTION",diff."ANNEE_UNIV_1ERE_INSC",diff."CORREC_AUTORISEE",diff."DATE_ABANDON",diff."DATE_AUTORIS_SOUTENANCE",diff."DATE_FIN_CONFID",diff."DATE_PREM_INSC",diff."DATE_PREV_SOUTENANCE",diff."DATE_SOUTENANCE",diff."DATE_TRANSFERT",diff."DOCTORANT_ID",diff."ECOLE_DOCT_ID",diff."ETABLISSEMENT_ID",diff."ETAT_THESE",diff."LIB_DISC",diff."LIB_ETAB_COTUT",diff."LIB_PAYS_COTUT",diff."RESULTAT",diff."SOUTENANCE_AUTORIS",diff."TEM_AVENANT_COTUT",diff."TITRE",diff."UNITE_RECH_ID",diff."U_ANNEE_UNIV_1ERE_INSC",diff."U_CORREC_AUTORISEE",diff."U_DATE_ABANDON",diff."U_DATE_AUTORIS_SOUTENANCE",diff."U_DATE_FIN_CONFID",diff."U_DATE_PREM_INSC",diff."U_DATE_PREV_SOUTENANCE",diff."U_DATE_SOUTENANCE",diff."U_DATE_TRANSFERT",diff."U_DOCTORANT_ID",diff."U_ECOLE_DOCT_ID",diff."U_ETABLISSEMENT_ID",diff."U_ETAT_THESE",diff."U_LIB_DISC",diff."U_LIB_ETAB_COTUT",diff."U_LIB_PAYS_COTUT",diff."U_RESULTAT",diff."U_SOUTENANCE_AUTORIS",diff."U_TEM_AVENANT_COTUT",diff."U_TITRE",diff."U_UNITE_RECH_ID" from (SELECT - COALESCE( D.id, S.id ) id, - COALESCE( S.source_id, D.source_id ) source_id, - COALESCE( S.source_code, D.source_code ) source_code, -CASE - WHEN S.source_code IS NOT NULL AND D.source_code IS NULL THEN 'insert' - WHEN S.source_code IS NOT NULL AND D.source_code IS NOT NULL AND (D.histo_destruction IS NULL OR D.histo_destruction > SYSDATE) THEN 'update' - WHEN S.source_code IS NULL AND D.source_code IS NOT NULL AND (D.histo_destruction IS NULL OR D.histo_destruction > SYSDATE) THEN 'delete' - WHEN S.source_code IS NOT NULL AND D.source_code IS NOT NULL AND D.histo_destruction IS NOT NULL AND D.histo_destruction <= SYSDATE THEN 'undelete' END import_action, - CASE WHEN S.source_code IS NULL AND D.source_code IS NOT NULL THEN D.ANNEE_UNIV_1ERE_INSC ELSE S.ANNEE_UNIV_1ERE_INSC END ANNEE_UNIV_1ERE_INSC, - CASE WHEN S.source_code IS NULL AND D.source_code IS NOT NULL THEN D.CORREC_AUTORISEE ELSE S.CORREC_AUTORISEE END CORREC_AUTORISEE, - CASE WHEN S.source_code IS NULL AND D.source_code IS NOT NULL THEN D.DATE_ABANDON ELSE S.DATE_ABANDON END DATE_ABANDON, - CASE WHEN S.source_code IS NULL AND D.source_code IS NOT NULL THEN D.DATE_AUTORIS_SOUTENANCE ELSE S.DATE_AUTORIS_SOUTENANCE END DATE_AUTORIS_SOUTENANCE, - CASE WHEN S.source_code IS NULL AND D.source_code IS NOT NULL THEN D.DATE_FIN_CONFID ELSE S.DATE_FIN_CONFID END DATE_FIN_CONFID, - CASE WHEN S.source_code IS NULL AND D.source_code IS NOT NULL THEN D.DATE_PREM_INSC ELSE S.DATE_PREM_INSC END DATE_PREM_INSC, - CASE WHEN S.source_code IS NULL AND D.source_code IS NOT NULL THEN D.DATE_PREV_SOUTENANCE ELSE S.DATE_PREV_SOUTENANCE END DATE_PREV_SOUTENANCE, - CASE WHEN S.source_code IS NULL AND D.source_code IS NOT NULL THEN D.DATE_SOUTENANCE ELSE S.DATE_SOUTENANCE END DATE_SOUTENANCE, - CASE WHEN S.source_code IS NULL AND D.source_code IS NOT NULL THEN D.DATE_TRANSFERT ELSE S.DATE_TRANSFERT END DATE_TRANSFERT, - CASE WHEN S.source_code IS NULL AND D.source_code IS NOT NULL THEN D.DOCTORANT_ID ELSE S.DOCTORANT_ID END DOCTORANT_ID, - CASE WHEN S.source_code IS NULL AND D.source_code IS NOT NULL THEN D.ECOLE_DOCT_ID ELSE S.ECOLE_DOCT_ID END ECOLE_DOCT_ID, - CASE WHEN S.source_code IS NULL AND D.source_code IS NOT NULL THEN D.ETABLISSEMENT_ID ELSE S.ETABLISSEMENT_ID END ETABLISSEMENT_ID, - CASE WHEN S.source_code IS NULL AND D.source_code IS NOT NULL THEN D.ETAT_THESE ELSE S.ETAT_THESE END ETAT_THESE, - CASE WHEN S.source_code IS NULL AND D.source_code IS NOT NULL THEN D.LIB_DISC ELSE S.LIB_DISC END LIB_DISC, - CASE WHEN S.source_code IS NULL AND D.source_code IS NOT NULL THEN D.LIB_ETAB_COTUT ELSE S.LIB_ETAB_COTUT END LIB_ETAB_COTUT, - CASE WHEN S.source_code IS NULL AND D.source_code IS NOT NULL THEN D.LIB_PAYS_COTUT ELSE S.LIB_PAYS_COTUT END LIB_PAYS_COTUT, - CASE WHEN S.source_code IS NULL AND D.source_code IS NOT NULL THEN D.RESULTAT ELSE S.RESULTAT END RESULTAT, - CASE WHEN S.source_code IS NULL AND D.source_code IS NOT NULL THEN D.SOUTENANCE_AUTORIS ELSE S.SOUTENANCE_AUTORIS END SOUTENANCE_AUTORIS, - CASE WHEN S.source_code IS NULL AND D.source_code IS NOT NULL THEN D.TEM_AVENANT_COTUT ELSE S.TEM_AVENANT_COTUT END TEM_AVENANT_COTUT, - CASE WHEN S.source_code IS NULL AND D.source_code IS NOT NULL THEN D.TITRE ELSE S.TITRE END TITRE, - CASE WHEN S.source_code IS NULL AND D.source_code IS NOT NULL THEN D.UNITE_RECH_ID ELSE S.UNITE_RECH_ID END UNITE_RECH_ID, - CASE WHEN D.ANNEE_UNIV_1ERE_INSC <> S.ANNEE_UNIV_1ERE_INSC OR (D.ANNEE_UNIV_1ERE_INSC IS NULL AND S.ANNEE_UNIV_1ERE_INSC IS NOT NULL) OR (D.ANNEE_UNIV_1ERE_INSC IS NOT NULL AND S.ANNEE_UNIV_1ERE_INSC IS NULL) THEN 1 ELSE 0 END U_ANNEE_UNIV_1ERE_INSC, - CASE WHEN D.CORREC_AUTORISEE <> S.CORREC_AUTORISEE OR (D.CORREC_AUTORISEE IS NULL AND S.CORREC_AUTORISEE IS NOT NULL) OR (D.CORREC_AUTORISEE IS NOT NULL AND S.CORREC_AUTORISEE IS NULL) THEN 1 ELSE 0 END U_CORREC_AUTORISEE, - CASE WHEN D.DATE_ABANDON <> S.DATE_ABANDON OR (D.DATE_ABANDON IS NULL AND S.DATE_ABANDON IS NOT NULL) OR (D.DATE_ABANDON IS NOT NULL AND S.DATE_ABANDON IS NULL) THEN 1 ELSE 0 END U_DATE_ABANDON, - CASE WHEN D.DATE_AUTORIS_SOUTENANCE <> S.DATE_AUTORIS_SOUTENANCE OR (D.DATE_AUTORIS_SOUTENANCE IS NULL AND S.DATE_AUTORIS_SOUTENANCE IS NOT NULL) OR (D.DATE_AUTORIS_SOUTENANCE IS NOT NULL AND S.DATE_AUTORIS_SOUTENANCE IS NULL) THEN 1 ELSE 0 END U_DATE_AUTORIS_SOUTENANCE, - CASE WHEN D.DATE_FIN_CONFID <> S.DATE_FIN_CONFID OR (D.DATE_FIN_CONFID IS NULL AND S.DATE_FIN_CONFID IS NOT NULL) OR (D.DATE_FIN_CONFID IS NOT NULL AND S.DATE_FIN_CONFID IS NULL) THEN 1 ELSE 0 END U_DATE_FIN_CONFID, - CASE WHEN D.DATE_PREM_INSC <> S.DATE_PREM_INSC OR (D.DATE_PREM_INSC IS NULL AND S.DATE_PREM_INSC IS NOT NULL) OR (D.DATE_PREM_INSC IS NOT NULL AND S.DATE_PREM_INSC IS NULL) THEN 1 ELSE 0 END U_DATE_PREM_INSC, - CASE WHEN D.DATE_PREV_SOUTENANCE <> S.DATE_PREV_SOUTENANCE OR (D.DATE_PREV_SOUTENANCE IS NULL AND S.DATE_PREV_SOUTENANCE IS NOT NULL) OR (D.DATE_PREV_SOUTENANCE IS NOT NULL AND S.DATE_PREV_SOUTENANCE IS NULL) THEN 1 ELSE 0 END U_DATE_PREV_SOUTENANCE, - CASE WHEN D.DATE_SOUTENANCE <> S.DATE_SOUTENANCE OR (D.DATE_SOUTENANCE IS NULL AND S.DATE_SOUTENANCE IS NOT NULL) OR (D.DATE_SOUTENANCE IS NOT NULL AND S.DATE_SOUTENANCE IS NULL) THEN 1 ELSE 0 END U_DATE_SOUTENANCE, - CASE WHEN D.DATE_TRANSFERT <> S.DATE_TRANSFERT OR (D.DATE_TRANSFERT IS NULL AND S.DATE_TRANSFERT IS NOT NULL) OR (D.DATE_TRANSFERT IS NOT NULL AND S.DATE_TRANSFERT IS NULL) THEN 1 ELSE 0 END U_DATE_TRANSFERT, - CASE WHEN D.DOCTORANT_ID <> S.DOCTORANT_ID OR (D.DOCTORANT_ID IS NULL AND S.DOCTORANT_ID IS NOT NULL) OR (D.DOCTORANT_ID IS NOT NULL AND S.DOCTORANT_ID IS NULL) THEN 1 ELSE 0 END U_DOCTORANT_ID, - CASE WHEN D.ECOLE_DOCT_ID <> S.ECOLE_DOCT_ID OR (D.ECOLE_DOCT_ID IS NULL AND S.ECOLE_DOCT_ID IS NOT NULL) OR (D.ECOLE_DOCT_ID IS NOT NULL AND S.ECOLE_DOCT_ID IS NULL) THEN 1 ELSE 0 END U_ECOLE_DOCT_ID, - CASE WHEN D.ETABLISSEMENT_ID <> S.ETABLISSEMENT_ID OR (D.ETABLISSEMENT_ID IS NULL AND S.ETABLISSEMENT_ID IS NOT NULL) OR (D.ETABLISSEMENT_ID IS NOT NULL AND S.ETABLISSEMENT_ID IS NULL) THEN 1 ELSE 0 END U_ETABLISSEMENT_ID, - CASE WHEN D.ETAT_THESE <> S.ETAT_THESE OR (D.ETAT_THESE IS NULL AND S.ETAT_THESE IS NOT NULL) OR (D.ETAT_THESE IS NOT NULL AND S.ETAT_THESE IS NULL) THEN 1 ELSE 0 END U_ETAT_THESE, - CASE WHEN D.LIB_DISC <> S.LIB_DISC OR (D.LIB_DISC IS NULL AND S.LIB_DISC IS NOT NULL) OR (D.LIB_DISC IS NOT NULL AND S.LIB_DISC IS NULL) THEN 1 ELSE 0 END U_LIB_DISC, - CASE WHEN D.LIB_ETAB_COTUT <> S.LIB_ETAB_COTUT OR (D.LIB_ETAB_COTUT IS NULL AND S.LIB_ETAB_COTUT IS NOT NULL) OR (D.LIB_ETAB_COTUT IS NOT NULL AND S.LIB_ETAB_COTUT IS NULL) THEN 1 ELSE 0 END U_LIB_ETAB_COTUT, - CASE WHEN D.LIB_PAYS_COTUT <> S.LIB_PAYS_COTUT OR (D.LIB_PAYS_COTUT IS NULL AND S.LIB_PAYS_COTUT IS NOT NULL) OR (D.LIB_PAYS_COTUT IS NOT NULL AND S.LIB_PAYS_COTUT IS NULL) THEN 1 ELSE 0 END U_LIB_PAYS_COTUT, - CASE WHEN D.RESULTAT <> S.RESULTAT OR (D.RESULTAT IS NULL AND S.RESULTAT IS NOT NULL) OR (D.RESULTAT IS NOT NULL AND S.RESULTAT IS NULL) THEN 1 ELSE 0 END U_RESULTAT, - CASE WHEN D.SOUTENANCE_AUTORIS <> S.SOUTENANCE_AUTORIS OR (D.SOUTENANCE_AUTORIS IS NULL AND S.SOUTENANCE_AUTORIS IS NOT NULL) OR (D.SOUTENANCE_AUTORIS IS NOT NULL AND S.SOUTENANCE_AUTORIS IS NULL) THEN 1 ELSE 0 END U_SOUTENANCE_AUTORIS, - CASE WHEN D.TEM_AVENANT_COTUT <> S.TEM_AVENANT_COTUT OR (D.TEM_AVENANT_COTUT IS NULL AND S.TEM_AVENANT_COTUT IS NOT NULL) OR (D.TEM_AVENANT_COTUT IS NOT NULL AND S.TEM_AVENANT_COTUT IS NULL) THEN 1 ELSE 0 END U_TEM_AVENANT_COTUT, - CASE WHEN D.TITRE <> S.TITRE OR (D.TITRE IS NULL AND S.TITRE IS NOT NULL) OR (D.TITRE IS NOT NULL AND S.TITRE IS NULL) THEN 1 ELSE 0 END U_TITRE, - CASE WHEN D.UNITE_RECH_ID <> S.UNITE_RECH_ID OR (D.UNITE_RECH_ID IS NULL AND S.UNITE_RECH_ID IS NOT NULL) OR (D.UNITE_RECH_ID IS NOT NULL AND S.UNITE_RECH_ID IS NULL) THEN 1 ELSE 0 END U_UNITE_RECH_ID -FROM - THESE D - FULL JOIN SRC_THESE S ON S.source_id = D.source_id AND S.source_code = D.source_code -WHERE - (S.source_code IS NOT NULL AND D.source_code IS NOT NULL AND D.histo_destruction IS NOT NULL AND D.histo_destruction <= SYSDATE) - OR (S.source_code IS NULL AND D.source_code IS NOT NULL AND (D.histo_destruction IS NULL OR D.histo_destruction > SYSDATE)) - OR (S.source_code IS NOT NULL AND D.source_code IS NULL) - OR D.ANNEE_UNIV_1ERE_INSC <> S.ANNEE_UNIV_1ERE_INSC OR (D.ANNEE_UNIV_1ERE_INSC IS NULL AND S.ANNEE_UNIV_1ERE_INSC IS NOT NULL) OR (D.ANNEE_UNIV_1ERE_INSC IS NOT NULL AND S.ANNEE_UNIV_1ERE_INSC IS NULL) - OR D.CORREC_AUTORISEE <> S.CORREC_AUTORISEE OR (D.CORREC_AUTORISEE IS NULL AND S.CORREC_AUTORISEE IS NOT NULL) OR (D.CORREC_AUTORISEE IS NOT NULL AND S.CORREC_AUTORISEE IS NULL) - OR D.DATE_ABANDON <> S.DATE_ABANDON OR (D.DATE_ABANDON IS NULL AND S.DATE_ABANDON IS NOT NULL) OR (D.DATE_ABANDON IS NOT NULL AND S.DATE_ABANDON IS NULL) - OR D.DATE_AUTORIS_SOUTENANCE <> S.DATE_AUTORIS_SOUTENANCE OR (D.DATE_AUTORIS_SOUTENANCE IS NULL AND S.DATE_AUTORIS_SOUTENANCE IS NOT NULL) OR (D.DATE_AUTORIS_SOUTENANCE IS NOT NULL AND S.DATE_AUTORIS_SOUTENANCE IS NULL) - OR D.DATE_FIN_CONFID <> S.DATE_FIN_CONFID OR (D.DATE_FIN_CONFID IS NULL AND S.DATE_FIN_CONFID IS NOT NULL) OR (D.DATE_FIN_CONFID IS NOT NULL AND S.DATE_FIN_CONFID IS NULL) - OR D.DATE_PREM_INSC <> S.DATE_PREM_INSC OR (D.DATE_PREM_INSC IS NULL AND S.DATE_PREM_INSC IS NOT NULL) OR (D.DATE_PREM_INSC IS NOT NULL AND S.DATE_PREM_INSC IS NULL) - OR D.DATE_PREV_SOUTENANCE <> S.DATE_PREV_SOUTENANCE OR (D.DATE_PREV_SOUTENANCE IS NULL AND S.DATE_PREV_SOUTENANCE IS NOT NULL) OR (D.DATE_PREV_SOUTENANCE IS NOT NULL AND S.DATE_PREV_SOUTENANCE IS NULL) - OR D.DATE_SOUTENANCE <> S.DATE_SOUTENANCE OR (D.DATE_SOUTENANCE IS NULL AND S.DATE_SOUTENANCE IS NOT NULL) OR (D.DATE_SOUTENANCE IS NOT NULL AND S.DATE_SOUTENANCE IS NULL) - OR D.DATE_TRANSFERT <> S.DATE_TRANSFERT OR (D.DATE_TRANSFERT IS NULL AND S.DATE_TRANSFERT IS NOT NULL) OR (D.DATE_TRANSFERT IS NOT NULL AND S.DATE_TRANSFERT IS NULL) - OR D.DOCTORANT_ID <> S.DOCTORANT_ID OR (D.DOCTORANT_ID IS NULL AND S.DOCTORANT_ID IS NOT NULL) OR (D.DOCTORANT_ID IS NOT NULL AND S.DOCTORANT_ID IS NULL) - OR D.ECOLE_DOCT_ID <> S.ECOLE_DOCT_ID OR (D.ECOLE_DOCT_ID IS NULL AND S.ECOLE_DOCT_ID IS NOT NULL) OR (D.ECOLE_DOCT_ID IS NOT NULL AND S.ECOLE_DOCT_ID IS NULL) - OR D.ETABLISSEMENT_ID <> S.ETABLISSEMENT_ID OR (D.ETABLISSEMENT_ID IS NULL AND S.ETABLISSEMENT_ID IS NOT NULL) OR (D.ETABLISSEMENT_ID IS NOT NULL AND S.ETABLISSEMENT_ID IS NULL) - OR D.ETAT_THESE <> S.ETAT_THESE OR (D.ETAT_THESE IS NULL AND S.ETAT_THESE IS NOT NULL) OR (D.ETAT_THESE IS NOT NULL AND S.ETAT_THESE IS NULL) - OR D.LIB_DISC <> S.LIB_DISC OR (D.LIB_DISC IS NULL AND S.LIB_DISC IS NOT NULL) OR (D.LIB_DISC IS NOT NULL AND S.LIB_DISC IS NULL) - OR D.LIB_ETAB_COTUT <> S.LIB_ETAB_COTUT OR (D.LIB_ETAB_COTUT IS NULL AND S.LIB_ETAB_COTUT IS NOT NULL) OR (D.LIB_ETAB_COTUT IS NOT NULL AND S.LIB_ETAB_COTUT IS NULL) - OR D.LIB_PAYS_COTUT <> S.LIB_PAYS_COTUT OR (D.LIB_PAYS_COTUT IS NULL AND S.LIB_PAYS_COTUT IS NOT NULL) OR (D.LIB_PAYS_COTUT IS NOT NULL AND S.LIB_PAYS_COTUT IS NULL) - OR D.RESULTAT <> S.RESULTAT OR (D.RESULTAT IS NULL AND S.RESULTAT IS NOT NULL) OR (D.RESULTAT IS NOT NULL AND S.RESULTAT IS NULL) - OR D.SOUTENANCE_AUTORIS <> S.SOUTENANCE_AUTORIS OR (D.SOUTENANCE_AUTORIS IS NULL AND S.SOUTENANCE_AUTORIS IS NOT NULL) OR (D.SOUTENANCE_AUTORIS IS NOT NULL AND S.SOUTENANCE_AUTORIS IS NULL) - OR D.TEM_AVENANT_COTUT <> S.TEM_AVENANT_COTUT OR (D.TEM_AVENANT_COTUT IS NULL AND S.TEM_AVENANT_COTUT IS NOT NULL) OR (D.TEM_AVENANT_COTUT IS NOT NULL AND S.TEM_AVENANT_COTUT IS NULL) - OR D.TITRE <> S.TITRE OR (D.TITRE IS NULL AND S.TITRE IS NOT NULL) OR (D.TITRE IS NOT NULL AND S.TITRE IS NULL) - OR D.UNITE_RECH_ID <> S.UNITE_RECH_ID OR (D.UNITE_RECH_ID IS NULL AND S.UNITE_RECH_ID IS NOT NULL) OR (D.UNITE_RECH_ID IS NOT NULL AND S.UNITE_RECH_ID IS NULL) -) diff JOIN source on source.id = diff.source_id WHERE import_action IS NOT NULL AND source.importable = 1; - CREATE OR REPLACE FORCE VIEW /*"SYGAL".*/"V_DIFF_THESE_ANNEE_UNIV" ("ID", "SOURCE_ID", "SOURCE_CODE", "IMPORT_ACTION", "ANNEE_UNIV", "THESE_ID", "U_ANNEE_UNIV", "U_THESE_ID") AS - select diff."ID",diff."SOURCE_ID",diff."SOURCE_CODE",diff."IMPORT_ACTION",diff."ANNEE_UNIV",diff."THESE_ID",diff."U_ANNEE_UNIV",diff."U_THESE_ID" from (SELECT - COALESCE( D.id, S.id ) id, - COALESCE( S.source_id, D.source_id ) source_id, - COALESCE( S.source_code, D.source_code ) source_code, -CASE - WHEN S.source_code IS NOT NULL AND D.source_code IS NULL THEN 'insert' - WHEN S.source_code IS NOT NULL AND D.source_code IS NOT NULL AND (D.histo_destruction IS NULL OR D.histo_destruction > SYSDATE) THEN 'update' - WHEN S.source_code IS NULL AND D.source_code IS NOT NULL AND (D.histo_destruction IS NULL OR D.histo_destruction > SYSDATE) THEN 'delete' - WHEN S.source_code IS NOT NULL AND D.source_code IS NOT NULL AND D.histo_destruction IS NOT NULL AND D.histo_destruction <= SYSDATE THEN 'undelete' END import_action, - CASE WHEN S.source_code IS NULL AND D.source_code IS NOT NULL THEN D.ANNEE_UNIV ELSE S.ANNEE_UNIV END ANNEE_UNIV, - CASE WHEN S.source_code IS NULL AND D.source_code IS NOT NULL THEN D.THESE_ID ELSE S.THESE_ID END THESE_ID, - CASE WHEN D.ANNEE_UNIV <> S.ANNEE_UNIV OR (D.ANNEE_UNIV IS NULL AND S.ANNEE_UNIV IS NOT NULL) OR (D.ANNEE_UNIV IS NOT NULL AND S.ANNEE_UNIV IS NULL) THEN 1 ELSE 0 END U_ANNEE_UNIV, - CASE WHEN D.THESE_ID <> S.THESE_ID OR (D.THESE_ID IS NULL AND S.THESE_ID IS NOT NULL) OR (D.THESE_ID IS NOT NULL AND S.THESE_ID IS NULL) THEN 1 ELSE 0 END U_THESE_ID -FROM - THESE_ANNEE_UNIV D - FULL JOIN SRC_THESE_ANNEE_UNIV S ON S.source_id = D.source_id AND S.source_code = D.source_code -WHERE - (S.source_code IS NOT NULL AND D.source_code IS NOT NULL AND D.histo_destruction IS NOT NULL AND D.histo_destruction <= SYSDATE) - OR (S.source_code IS NULL AND D.source_code IS NOT NULL AND (D.histo_destruction IS NULL OR D.histo_destruction > SYSDATE)) - OR (S.source_code IS NOT NULL AND D.source_code IS NULL) - OR D.ANNEE_UNIV <> S.ANNEE_UNIV OR (D.ANNEE_UNIV IS NULL AND S.ANNEE_UNIV IS NOT NULL) OR (D.ANNEE_UNIV IS NOT NULL AND S.ANNEE_UNIV IS NULL) - OR D.THESE_ID <> S.THESE_ID OR (D.THESE_ID IS NULL AND S.THESE_ID IS NOT NULL) OR (D.THESE_ID IS NOT NULL AND S.THESE_ID IS NULL) -) diff JOIN source on source.id = diff.source_id WHERE import_action IS NOT NULL AND source.importable = 1; - CREATE OR REPLACE FORCE VIEW /*"SYGAL".*/"V_DIFF_TITRE_ACCES" ("ID", "SOURCE_ID", "SOURCE_CODE", "IMPORT_ACTION", "CODE_DEPT_TITRE_ACCES", "CODE_PAYS_TITRE_ACCES", "LIBELLE_ETB_TITRE_ACCES", "LIBELLE_TITRE_ACCES", "THESE_ID", "TITRE_ACCES_INTERNE_EXTERNE", "TYPE_ETB_TITRE_ACCES", "U_CODE_DEPT_TITRE_ACCES", "U_CODE_PAYS_TITRE_ACCES", "U_LIBELLE_ETB_TITRE_ACCES", "U_LIBELLE_TITRE_ACCES", "U_THESE_ID", "U_TITRE_ACCES_INTERNE_EXTERNE", "U_TYPE_ETB_TITRE_ACCES") AS - select diff."ID",diff."SOURCE_ID",diff."SOURCE_CODE",diff."IMPORT_ACTION",diff."CODE_DEPT_TITRE_ACCES",diff."CODE_PAYS_TITRE_ACCES",diff."LIBELLE_ETB_TITRE_ACCES",diff."LIBELLE_TITRE_ACCES",diff."THESE_ID",diff."TITRE_ACCES_INTERNE_EXTERNE",diff."TYPE_ETB_TITRE_ACCES",diff."U_CODE_DEPT_TITRE_ACCES",diff."U_CODE_PAYS_TITRE_ACCES",diff."U_LIBELLE_ETB_TITRE_ACCES",diff."U_LIBELLE_TITRE_ACCES",diff."U_THESE_ID",diff."U_TITRE_ACCES_INTERNE_EXTERNE",diff."U_TYPE_ETB_TITRE_ACCES" from (SELECT - COALESCE( D.id, S.id ) id, - COALESCE( S.source_id, D.source_id ) source_id, - COALESCE( S.source_code, D.source_code ) source_code, -CASE - WHEN S.source_code IS NOT NULL AND D.source_code IS NULL THEN 'insert' - WHEN S.source_code IS NOT NULL AND D.source_code IS NOT NULL AND (D.histo_destruction IS NULL OR D.histo_destruction > SYSDATE) THEN 'update' - WHEN S.source_code IS NULL AND D.source_code IS NOT NULL AND (D.histo_destruction IS NULL OR D.histo_destruction > SYSDATE) THEN 'delete' - WHEN S.source_code IS NOT NULL AND D.source_code IS NOT NULL AND D.histo_destruction IS NOT NULL AND D.histo_destruction <= SYSDATE THEN 'undelete' END import_action, - CASE WHEN S.source_code IS NULL AND D.source_code IS NOT NULL THEN D.CODE_DEPT_TITRE_ACCES ELSE S.CODE_DEPT_TITRE_ACCES END CODE_DEPT_TITRE_ACCES, - CASE WHEN S.source_code IS NULL AND D.source_code IS NOT NULL THEN D.CODE_PAYS_TITRE_ACCES ELSE S.CODE_PAYS_TITRE_ACCES END CODE_PAYS_TITRE_ACCES, - CASE WHEN S.source_code IS NULL AND D.source_code IS NOT NULL THEN D.LIBELLE_ETB_TITRE_ACCES ELSE S.LIBELLE_ETB_TITRE_ACCES END LIBELLE_ETB_TITRE_ACCES, - CASE WHEN S.source_code IS NULL AND D.source_code IS NOT NULL THEN D.LIBELLE_TITRE_ACCES ELSE S.LIBELLE_TITRE_ACCES END LIBELLE_TITRE_ACCES, - CASE WHEN S.source_code IS NULL AND D.source_code IS NOT NULL THEN D.THESE_ID ELSE S.THESE_ID END THESE_ID, - CASE WHEN S.source_code IS NULL AND D.source_code IS NOT NULL THEN D.TITRE_ACCES_INTERNE_EXTERNE ELSE S.TITRE_ACCES_INTERNE_EXTERNE END TITRE_ACCES_INTERNE_EXTERNE, - CASE WHEN S.source_code IS NULL AND D.source_code IS NOT NULL THEN D.TYPE_ETB_TITRE_ACCES ELSE S.TYPE_ETB_TITRE_ACCES END TYPE_ETB_TITRE_ACCES, - CASE WHEN D.CODE_DEPT_TITRE_ACCES <> S.CODE_DEPT_TITRE_ACCES OR (D.CODE_DEPT_TITRE_ACCES IS NULL AND S.CODE_DEPT_TITRE_ACCES IS NOT NULL) OR (D.CODE_DEPT_TITRE_ACCES IS NOT NULL AND S.CODE_DEPT_TITRE_ACCES IS NULL) THEN 1 ELSE 0 END U_CODE_DEPT_TITRE_ACCES, - CASE WHEN D.CODE_PAYS_TITRE_ACCES <> S.CODE_PAYS_TITRE_ACCES OR (D.CODE_PAYS_TITRE_ACCES IS NULL AND S.CODE_PAYS_TITRE_ACCES IS NOT NULL) OR (D.CODE_PAYS_TITRE_ACCES IS NOT NULL AND S.CODE_PAYS_TITRE_ACCES IS NULL) THEN 1 ELSE 0 END U_CODE_PAYS_TITRE_ACCES, - CASE WHEN D.LIBELLE_ETB_TITRE_ACCES <> S.LIBELLE_ETB_TITRE_ACCES OR (D.LIBELLE_ETB_TITRE_ACCES IS NULL AND S.LIBELLE_ETB_TITRE_ACCES IS NOT NULL) OR (D.LIBELLE_ETB_TITRE_ACCES IS NOT NULL AND S.LIBELLE_ETB_TITRE_ACCES IS NULL) THEN 1 ELSE 0 END U_LIBELLE_ETB_TITRE_ACCES, - CASE WHEN D.LIBELLE_TITRE_ACCES <> S.LIBELLE_TITRE_ACCES OR (D.LIBELLE_TITRE_ACCES IS NULL AND S.LIBELLE_TITRE_ACCES IS NOT NULL) OR (D.LIBELLE_TITRE_ACCES IS NOT NULL AND S.LIBELLE_TITRE_ACCES IS NULL) THEN 1 ELSE 0 END U_LIBELLE_TITRE_ACCES, - CASE WHEN D.THESE_ID <> S.THESE_ID OR (D.THESE_ID IS NULL AND S.THESE_ID IS NOT NULL) OR (D.THESE_ID IS NOT NULL AND S.THESE_ID IS NULL) THEN 1 ELSE 0 END U_THESE_ID, - CASE WHEN D.TITRE_ACCES_INTERNE_EXTERNE <> S.TITRE_ACCES_INTERNE_EXTERNE OR (D.TITRE_ACCES_INTERNE_EXTERNE IS NULL AND S.TITRE_ACCES_INTERNE_EXTERNE IS NOT NULL) OR (D.TITRE_ACCES_INTERNE_EXTERNE IS NOT NULL AND S.TITRE_ACCES_INTERNE_EXTERNE IS NULL) THEN 1 ELSE 0 END U_TITRE_ACCES_INTERNE_EXTERNE, - CASE WHEN D.TYPE_ETB_TITRE_ACCES <> S.TYPE_ETB_TITRE_ACCES OR (D.TYPE_ETB_TITRE_ACCES IS NULL AND S.TYPE_ETB_TITRE_ACCES IS NOT NULL) OR (D.TYPE_ETB_TITRE_ACCES IS NOT NULL AND S.TYPE_ETB_TITRE_ACCES IS NULL) THEN 1 ELSE 0 END U_TYPE_ETB_TITRE_ACCES -FROM - TITRE_ACCES D - FULL JOIN SRC_TITRE_ACCES S ON S.source_id = D.source_id AND S.source_code = D.source_code -WHERE - (S.source_code IS NOT NULL AND D.source_code IS NOT NULL AND D.histo_destruction IS NOT NULL AND D.histo_destruction <= SYSDATE) - OR (S.source_code IS NULL AND D.source_code IS NOT NULL AND (D.histo_destruction IS NULL OR D.histo_destruction > SYSDATE)) - OR (S.source_code IS NOT NULL AND D.source_code IS NULL) - OR D.CODE_DEPT_TITRE_ACCES <> S.CODE_DEPT_TITRE_ACCES OR (D.CODE_DEPT_TITRE_ACCES IS NULL AND S.CODE_DEPT_TITRE_ACCES IS NOT NULL) OR (D.CODE_DEPT_TITRE_ACCES IS NOT NULL AND S.CODE_DEPT_TITRE_ACCES IS NULL) - OR D.CODE_PAYS_TITRE_ACCES <> S.CODE_PAYS_TITRE_ACCES OR (D.CODE_PAYS_TITRE_ACCES IS NULL AND S.CODE_PAYS_TITRE_ACCES IS NOT NULL) OR (D.CODE_PAYS_TITRE_ACCES IS NOT NULL AND S.CODE_PAYS_TITRE_ACCES IS NULL) - OR D.LIBELLE_ETB_TITRE_ACCES <> S.LIBELLE_ETB_TITRE_ACCES OR (D.LIBELLE_ETB_TITRE_ACCES IS NULL AND S.LIBELLE_ETB_TITRE_ACCES IS NOT NULL) OR (D.LIBELLE_ETB_TITRE_ACCES IS NOT NULL AND S.LIBELLE_ETB_TITRE_ACCES IS NULL) - OR D.LIBELLE_TITRE_ACCES <> S.LIBELLE_TITRE_ACCES OR (D.LIBELLE_TITRE_ACCES IS NULL AND S.LIBELLE_TITRE_ACCES IS NOT NULL) OR (D.LIBELLE_TITRE_ACCES IS NOT NULL AND S.LIBELLE_TITRE_ACCES IS NULL) - OR D.THESE_ID <> S.THESE_ID OR (D.THESE_ID IS NULL AND S.THESE_ID IS NOT NULL) OR (D.THESE_ID IS NOT NULL AND S.THESE_ID IS NULL) - OR D.TITRE_ACCES_INTERNE_EXTERNE <> S.TITRE_ACCES_INTERNE_EXTERNE OR (D.TITRE_ACCES_INTERNE_EXTERNE IS NULL AND S.TITRE_ACCES_INTERNE_EXTERNE IS NOT NULL) OR (D.TITRE_ACCES_INTERNE_EXTERNE IS NOT NULL AND S.TITRE_ACCES_INTERNE_EXTERNE IS NULL) - OR D.TYPE_ETB_TITRE_ACCES <> S.TYPE_ETB_TITRE_ACCES OR (D.TYPE_ETB_TITRE_ACCES IS NULL AND S.TYPE_ETB_TITRE_ACCES IS NOT NULL) OR (D.TYPE_ETB_TITRE_ACCES IS NOT NULL AND S.TYPE_ETB_TITRE_ACCES IS NULL) -) diff JOIN source on source.id = diff.source_id WHERE import_action IS NOT NULL AND source.importable = 1; - CREATE OR REPLACE FORCE VIEW /*"SYGAL".*/"V_DIFF_UNITE_RECH" ("ID", "SOURCE_ID", "SOURCE_CODE", "IMPORT_ACTION", "STRUCTURE_ID", "U_STRUCTURE_ID") AS - select diff."ID",diff."SOURCE_ID",diff."SOURCE_CODE",diff."IMPORT_ACTION",diff."STRUCTURE_ID",diff."U_STRUCTURE_ID" from (SELECT - COALESCE( D.id, S.id ) id, - COALESCE( S.source_id, D.source_id ) source_id, - COALESCE( S.source_code, D.source_code ) source_code, -CASE - WHEN S.source_code IS NOT NULL AND D.source_code IS NULL THEN 'insert' - WHEN S.source_code IS NOT NULL AND D.source_code IS NOT NULL AND (D.histo_destruction IS NULL OR D.histo_destruction > SYSDATE) THEN 'update' - WHEN S.source_code IS NULL AND D.source_code IS NOT NULL AND (D.histo_destruction IS NULL OR D.histo_destruction > SYSDATE) THEN 'delete' - WHEN S.source_code IS NOT NULL AND D.source_code IS NOT NULL AND D.histo_destruction IS NOT NULL AND D.histo_destruction <= SYSDATE THEN 'undelete' END import_action, - CASE WHEN S.source_code IS NULL AND D.source_code IS NOT NULL THEN D.STRUCTURE_ID ELSE S.STRUCTURE_ID END STRUCTURE_ID, - CASE WHEN D.STRUCTURE_ID <> S.STRUCTURE_ID OR (D.STRUCTURE_ID IS NULL AND S.STRUCTURE_ID IS NOT NULL) OR (D.STRUCTURE_ID IS NOT NULL AND S.STRUCTURE_ID IS NULL) THEN 1 ELSE 0 END U_STRUCTURE_ID -FROM - UNITE_RECH D - FULL JOIN SRC_UNITE_RECH S ON S.source_id = D.source_id AND S.source_code = D.source_code -WHERE - (S.source_code IS NOT NULL AND D.source_code IS NOT NULL AND D.histo_destruction IS NOT NULL AND D.histo_destruction <= SYSDATE) - OR (S.source_code IS NULL AND D.source_code IS NOT NULL AND (D.histo_destruction IS NULL OR D.histo_destruction > SYSDATE)) - OR (S.source_code IS NOT NULL AND D.source_code IS NULL) - OR D.STRUCTURE_ID <> S.STRUCTURE_ID OR (D.STRUCTURE_ID IS NULL AND S.STRUCTURE_ID IS NOT NULL) OR (D.STRUCTURE_ID IS NOT NULL AND S.STRUCTURE_ID IS NULL) -) diff JOIN source on source.id = diff.source_id WHERE import_action IS NOT NULL AND source.importable = 1; - CREATE OR REPLACE FORCE VIEW /*"SYGAL".*/"V_DIFF_VARIABLE" ("ID", "SOURCE_ID", "SOURCE_CODE", "IMPORT_ACTION", "CODE", "DATE_DEB_VALIDITE", "DATE_FIN_VALIDITE", "DESCRIPTION", "ETABLISSEMENT_ID", "VALEUR", "U_CODE", "U_DATE_DEB_VALIDITE", "U_DATE_FIN_VALIDITE", "U_DESCRIPTION", "U_ETABLISSEMENT_ID", "U_VALEUR") AS - select diff."ID",diff."SOURCE_ID",diff."SOURCE_CODE",diff."IMPORT_ACTION",diff."CODE",diff."DATE_DEB_VALIDITE",diff."DATE_FIN_VALIDITE",diff."DESCRIPTION",diff."ETABLISSEMENT_ID",diff."VALEUR",diff."U_CODE",diff."U_DATE_DEB_VALIDITE",diff."U_DATE_FIN_VALIDITE",diff."U_DESCRIPTION",diff."U_ETABLISSEMENT_ID",diff."U_VALEUR" from (SELECT - COALESCE( D.id, S.id ) id, - COALESCE( S.source_id, D.source_id ) source_id, - COALESCE( S.source_code, D.source_code ) source_code, -CASE - WHEN S.source_code IS NOT NULL AND D.source_code IS NULL THEN 'insert' - WHEN S.source_code IS NOT NULL AND D.source_code IS NOT NULL AND (D.histo_destruction IS NULL OR D.histo_destruction > SYSDATE) THEN 'update' - WHEN S.source_code IS NULL AND D.source_code IS NOT NULL AND (D.histo_destruction IS NULL OR D.histo_destruction > SYSDATE) THEN 'delete' - WHEN S.source_code IS NOT NULL AND D.source_code IS NOT NULL AND D.histo_destruction IS NOT NULL AND D.histo_destruction <= SYSDATE THEN 'undelete' END import_action, - CASE WHEN S.source_code IS NULL AND D.source_code IS NOT NULL THEN D.CODE ELSE S.CODE END CODE, - CASE WHEN S.source_code IS NULL AND D.source_code IS NOT NULL THEN D.DATE_DEB_VALIDITE ELSE S.DATE_DEB_VALIDITE END DATE_DEB_VALIDITE, - CASE WHEN S.source_code IS NULL AND D.source_code IS NOT NULL THEN D.DATE_FIN_VALIDITE ELSE S.DATE_FIN_VALIDITE END DATE_FIN_VALIDITE, - CASE WHEN S.source_code IS NULL AND D.source_code IS NOT NULL THEN D.DESCRIPTION ELSE S.DESCRIPTION END DESCRIPTION, - CASE WHEN S.source_code IS NULL AND D.source_code IS NOT NULL THEN D.ETABLISSEMENT_ID ELSE S.ETABLISSEMENT_ID END ETABLISSEMENT_ID, - CASE WHEN S.source_code IS NULL AND D.source_code IS NOT NULL THEN D.VALEUR ELSE S.VALEUR END VALEUR, - CASE WHEN D.CODE <> S.CODE OR (D.CODE IS NULL AND S.CODE IS NOT NULL) OR (D.CODE IS NOT NULL AND S.CODE IS NULL) THEN 1 ELSE 0 END U_CODE, - CASE WHEN D.DATE_DEB_VALIDITE <> S.DATE_DEB_VALIDITE OR (D.DATE_DEB_VALIDITE IS NULL AND S.DATE_DEB_VALIDITE IS NOT NULL) OR (D.DATE_DEB_VALIDITE IS NOT NULL AND S.DATE_DEB_VALIDITE IS NULL) THEN 1 ELSE 0 END U_DATE_DEB_VALIDITE, - CASE WHEN D.DATE_FIN_VALIDITE <> S.DATE_FIN_VALIDITE OR (D.DATE_FIN_VALIDITE IS NULL AND S.DATE_FIN_VALIDITE IS NOT NULL) OR (D.DATE_FIN_VALIDITE IS NOT NULL AND S.DATE_FIN_VALIDITE IS NULL) THEN 1 ELSE 0 END U_DATE_FIN_VALIDITE, - CASE WHEN D.DESCRIPTION <> S.DESCRIPTION OR (D.DESCRIPTION IS NULL AND S.DESCRIPTION IS NOT NULL) OR (D.DESCRIPTION IS NOT NULL AND S.DESCRIPTION IS NULL) THEN 1 ELSE 0 END U_DESCRIPTION, - CASE WHEN D.ETABLISSEMENT_ID <> S.ETABLISSEMENT_ID OR (D.ETABLISSEMENT_ID IS NULL AND S.ETABLISSEMENT_ID IS NOT NULL) OR (D.ETABLISSEMENT_ID IS NOT NULL AND S.ETABLISSEMENT_ID IS NULL) THEN 1 ELSE 0 END U_ETABLISSEMENT_ID, - CASE WHEN D.VALEUR <> S.VALEUR OR (D.VALEUR IS NULL AND S.VALEUR IS NOT NULL) OR (D.VALEUR IS NOT NULL AND S.VALEUR IS NULL) THEN 1 ELSE 0 END U_VALEUR -FROM - VARIABLE D - FULL JOIN SRC_VARIABLE S ON S.source_id = D.source_id AND S.source_code = D.source_code -WHERE - (S.source_code IS NOT NULL AND D.source_code IS NOT NULL AND D.histo_destruction IS NOT NULL AND D.histo_destruction <= SYSDATE) - OR (S.source_code IS NULL AND D.source_code IS NOT NULL AND (D.histo_destruction IS NULL OR D.histo_destruction > SYSDATE)) - OR (S.source_code IS NOT NULL AND D.source_code IS NULL) - OR D.CODE <> S.CODE OR (D.CODE IS NULL AND S.CODE IS NOT NULL) OR (D.CODE IS NOT NULL AND S.CODE IS NULL) - OR D.DATE_DEB_VALIDITE <> S.DATE_DEB_VALIDITE OR (D.DATE_DEB_VALIDITE IS NULL AND S.DATE_DEB_VALIDITE IS NOT NULL) OR (D.DATE_DEB_VALIDITE IS NOT NULL AND S.DATE_DEB_VALIDITE IS NULL) - OR D.DATE_FIN_VALIDITE <> S.DATE_FIN_VALIDITE OR (D.DATE_FIN_VALIDITE IS NULL AND S.DATE_FIN_VALIDITE IS NOT NULL) OR (D.DATE_FIN_VALIDITE IS NOT NULL AND S.DATE_FIN_VALIDITE IS NULL) - OR D.DESCRIPTION <> S.DESCRIPTION OR (D.DESCRIPTION IS NULL AND S.DESCRIPTION IS NOT NULL) OR (D.DESCRIPTION IS NOT NULL AND S.DESCRIPTION IS NULL) - OR D.ETABLISSEMENT_ID <> S.ETABLISSEMENT_ID OR (D.ETABLISSEMENT_ID IS NULL AND S.ETABLISSEMENT_ID IS NOT NULL) OR (D.ETABLISSEMENT_ID IS NOT NULL AND S.ETABLISSEMENT_ID IS NULL) - OR D.VALEUR <> S.VALEUR OR (D.VALEUR IS NULL AND S.VALEUR IS NOT NULL) OR (D.VALEUR IS NOT NULL AND S.VALEUR IS NULL) -) diff JOIN source on source.id = diff.source_id WHERE import_action IS NOT NULL AND source.importable = 1; - CREATE OR REPLACE FORCE VIEW /*"SYGAL".*/"V_IMPORT_TAB_COLS" ("TABLE_NAME", "COLUMN_NAME", "DATA_TYPE", "LENGTH", "NULLABLE", "HAS_DEFAULT", "C_TABLE_NAME", "C_COLUMN_NAME", "IMPORT_ACTIF") AS - WITH importable_tables (table_name )AS ( - SELECT - t.table_name - FROM - user_tab_cols c - join user_tables t on t.table_name = c.table_name - WHERE - c.column_name = 'SOURCE_CODE' - - MINUS - - SELECT - mview_name table_name - FROM - USER_MVIEWS - ), c_values (table_name, column_name, c_table_name, c_column_name) AS ( - SELECT - tc.table_name, - tc.column_name, - pcc.table_name c_table_name, - pcc.column_name c_column_name - FROM - user_tab_cols tc - JOIN USER_CONS_COLUMNS cc ON cc.table_name = tc.table_name AND cc.column_name = tc.column_name - JOIN USER_CONSTRAINTS c ON c.constraint_name = cc.constraint_name - JOIN USER_CONSTRAINTS pc ON pc.constraint_name = c.r_constraint_name - JOIN USER_CONS_COLUMNS pcc ON pcc.constraint_name = pc.constraint_name - WHERE - c.constraint_type = 'R' AND pc.constraint_type = 'P' - ) - SELECT - tc.table_name, - tc.column_name, - tc.data_type, - CASE WHEN tc.char_length = 0 THEN NULL ELSE tc.char_length END length, - CASE WHEN tc.nullable = 'Y' THEN 1 ELSE 0 END nullable, - CASE WHEN tc.data_default IS NOT NULL THEN 1 ELSE 0 END has_default, - cv.c_table_name, - cv.c_column_name, - CASE WHEN stc.table_name IS NULL THEN 0 ELSE 1 END AS import_actif - FROM - user_tab_cols tc - JOIN importable_tables t ON t.table_name = tc.table_name - LEFT JOIN c_values cv ON cv.table_name = tc.table_name AND cv.column_name = tc.column_name - LEFT JOIN user_tab_cols stc ON stc.table_name = 'SRC_' || tc.table_name AND stc.column_name = tc.column_name - WHERE - tc.column_name not like 'HISTO_%' - ORDER BY - tc.table_name, tc.column_id; - CREATE OR REPLACE FORCE VIEW /*"SYGAL".*/"V_INDIVIDU_ROLE" ("UTILISATEUR_ID", "NOM_USUEL", "PRENOM1", "EMAIL", "SOURCE_CODE", "ROLE_ID", "ID") AS - select - i.id utilisateur_id, i.NOM_USUEL, i.PRENOM1, i.EMAIL, i.SOURCE_CODE, - r.ROLE_ID, r.id - from INDIVIDU_ROLE ir - join INDIVIDU i on i.id = ir.INDIVIDU_ID - join role r on r.id = ir.ROLE_ID - order by NOM_USUEL, PRENOM1, r.ROLE_ID; - CREATE OR REPLACE FORCE VIEW /*"SYGAL".*/"V_SITU_ARCHIVAB_VA" ("THESE_ID", "RETRAITEMENT", "EST_VALIDE") AS - SELECT - ft.these_id, - ft.RETRAITEMENT, - vf.EST_VALIDE -FROM FICHIER_THESE ft - JOIN FICHIER f ON ft.FICHIER_ID = f.id and f.HISTO_DESTRUCTION is null - JOIN VERSION_FICHIER v ON f.VERSION_FICHIER_ID = v.id AND v.CODE = 'VA' - JOIN VALIDITE_FICHIER vf ON vf.FICHIER_ID = f.id -where EST_ANNEXE = 0 AND EST_EXPURGE = 0; - CREATE OR REPLACE FORCE VIEW /*"SYGAL".*/"V_SITU_ARCHIVAB_VAC" ("THESE_ID", "RETRAITEMENT", "EST_VALIDE") AS - SELECT - ft.these_id, - ft.RETRAITEMENT, - vf.EST_VALIDE -FROM FICHIER_THESE ft - JOIN FICHIER f ON ft.FICHIER_ID = f.id and f.HISTO_DESTRUCTION is null - JOIN VERSION_FICHIER v ON f.VERSION_FICHIER_ID = v.id AND v.CODE = 'VAC' - JOIN VALIDITE_FICHIER vf ON vf.FICHIER_ID = f.id -where EST_ANNEXE = 0 AND EST_EXPURGE = 0; - CREATE OR REPLACE FORCE VIEW /*"SYGAL".*/"V_SITU_ARCHIVAB_VO" ("THESE_ID", "EST_VALIDE") AS - SELECT - ft.these_id, - vf.EST_VALIDE -FROM FICHIER_THESE ft - JOIN FICHIER f ON ft.FICHIER_ID = f.id and f.HISTO_DESTRUCTION is null - JOIN VERSION_FICHIER v ON f.VERSION_FICHIER_ID = v.id AND v.CODE = 'VO' - JOIN VALIDITE_FICHIER vf ON vf.FICHIER_ID = f.id -where EST_ANNEXE = 0 AND EST_EXPURGE = 0; - CREATE OR REPLACE FORCE VIEW /*"SYGAL".*/"V_SITU_ARCHIVAB_VOC" ("THESE_ID", "EST_VALIDE") AS - SELECT - ft.these_id, - vf.EST_VALIDE -FROM FICHIER_THESE ft - JOIN FICHIER f ON ft.FICHIER_ID = f.id and f.HISTO_DESTRUCTION is null - JOIN VERSION_FICHIER v ON f.VERSION_FICHIER_ID = v.id AND v.CODE = 'VOC' - JOIN VALIDITE_FICHIER vf ON vf.FICHIER_ID = f.id -where EST_ANNEXE = 0 AND EST_EXPURGE = 0; - CREATE OR REPLACE FORCE VIEW /*"SYGAL".*/"V_SITU_ATTESTATIONS" ("THESE_ID", "ATTESTATION_ID") AS - SELECT - a.these_id, - a.id AS attestation_id -FROM ATTESTATION a -where a.VERSION_CORRIGEE = 0 and a.HISTO_DESTRUCTEUR_ID is null; - CREATE OR REPLACE FORCE VIEW /*"SYGAL".*/"V_SITU_ATTESTATIONS_VOC" ("THESE_ID", "ATTESTATION_ID") AS - SELECT - a.these_id, - a.id AS attestation_id -FROM ATTESTATION a - -- NB: on se base sur l'existence d'une version corrigée et pas sur t.CORRECTION_AUTORISEE qui peut revenir à null - JOIN FICHIER_THESE ft ON ft.THESE_ID = a.THESE_ID AND EST_ANNEXE = 0 AND EST_EXPURGE = 0 - JOIN FICHIER f ON ft.FICHIER_ID = f.id and f.HISTO_DESTRUCTION is null - JOIN VERSION_FICHIER v ON f.VERSION_FICHIER_ID = v.id AND v.CODE = 'VOC' -where a.VERSION_CORRIGEE = 1 and a.HISTO_DESTRUCTEUR_ID is null; - CREATE OR REPLACE FORCE VIEW /*"SYGAL".*/"V_SITU_AUTORIS_DIFF_THESE" ("THESE_ID", "DIFFUSION_ID") AS - SELECT - d.these_id, - d.id AS diffusion_id -FROM DIFFUSION d -where d.VERSION_CORRIGEE = 0 and d.HISTO_DESTRUCTEUR_ID is null; - CREATE OR REPLACE FORCE VIEW /*"SYGAL".*/"V_SITU_AUTORIS_DIFF_THESE_VOC" ("THESE_ID", "DIFFUSION_ID") AS - SELECT - d.these_id, - d.id AS diffusion_id -FROM DIFFUSION d - -- NB: on se base sur l'existence d'une version corrigée et pas sur t.CORRECTION_AUTORISEE qui peut revenir à null - JOIN FICHIER_THESE ft ON ft.THESE_ID = d.THESE_ID AND EST_ANNEXE = 0 AND EST_EXPURGE = 0 - JOIN FICHIER f ON ft.FICHIER_ID = f.id and f.HISTO_DESTRUCTION is null - JOIN VERSION_FICHIER v ON f.VERSION_FICHIER_ID = v.id AND v.CODE = 'VOC' -where d.VERSION_CORRIGEE = 1 and d.HISTO_DESTRUCTEUR_ID is null; - CREATE OR REPLACE FORCE VIEW /*"SYGAL".*/"V_SITU_DEPOT_PV_SOUT" ("THESE_ID", "FICHIER_ID") AS - SELECT - ft.these_id, - f.id AS fichier_id -FROM FICHIER_THESE ft - JOIN FICHIER f ON ft.FICHIER_ID = f.id and f.HISTO_DESTRUCTION is null - JOIN NATURE_FICHIER nf on f.NATURE_ID = nf.id and nf.CODE = 'PV_SOUTENANCE'; - CREATE OR REPLACE FORCE VIEW /*"SYGAL".*/"V_SITU_DEPOT_RAPPORT_SOUT" ("THESE_ID", "FICHIER_ID") AS - SELECT - ft.these_id, - f.id AS fichier_id -FROM FICHIER_THESE ft - JOIN FICHIER f ON ft.FICHIER_ID = f.id and f.HISTO_DESTRUCTION is null - JOIN NATURE_FICHIER nf on f.NATURE_ID = nf.id and nf.CODE = 'RAPPORT_SOUTENANCE'; - CREATE OR REPLACE FORCE VIEW /*"SYGAL".*/"V_SITU_DEPOT_VA" ("THESE_ID", "FICHIER_ID") AS - SELECT - ft.these_id, - f.id AS fichier_id -FROM FICHIER_THESE ft - JOIN FICHIER f ON ft.FICHIER_ID = f.id and f.HISTO_DESTRUCTION is null - JOIN NATURE_FICHIER nf ON f.NATURE_ID = nf.id AND nf.CODE = 'THESE_PDF' - JOIN VERSION_FICHIER v ON f.VERSION_FICHIER_ID = v.id AND v.CODE = 'VA' -where EST_ANNEXE = 0 AND EST_EXPURGE = 0; - CREATE OR REPLACE FORCE VIEW /*"SYGAL".*/"V_SITU_DEPOT_VAC" ("THESE_ID", "FICHIER_ID") AS - SELECT - ft.these_id, - f.id AS fichier_id -FROM FICHIER_THESE ft - JOIN FICHIER f ON ft.FICHIER_ID = f.id and f.HISTO_DESTRUCTION is null - JOIN NATURE_FICHIER nf ON f.NATURE_ID = nf.id AND nf.CODE = 'THESE_PDF' - JOIN VERSION_FICHIER v ON f.VERSION_FICHIER_ID = v.id AND v.CODE = 'VAC' -where EST_ANNEXE = 0 AND EST_EXPURGE = 0; - CREATE OR REPLACE FORCE VIEW /*"SYGAL".*/"V_SITU_DEPOT_VC_VALID_DIR" ("ID", "THESE_ID", "INDIVIDU_ID", "VALIDE") AS - WITH validations_attendues AS ( - SELECT a.THESE_ID, a.INDIVIDU_ID, tv.ID as TYPE_VALIDATION_ID - FROM ACTEUR a - JOIN ROLE r on a.ROLE_ID = r.ID and r.CODE = 'D' -- directeur de thèse - JOIN TYPE_VALIDATION tv on tv.code = 'CORRECTION_THESE' - where a.HISTO_DESTRUCTION is null -) -SELECT - ROWNUM as id, - va.these_id, - va.INDIVIDU_ID, - CASE WHEN v.id is not null THEN 1 ELSE 0 END valide -FROM validations_attendues va - LEFT JOIN VALIDATION v ON - v.THESE_ID = va.THESE_ID and - v.INDIVIDU_ID = va.INDIVIDU_ID and -- suppose que l'INDIVIDU_ID soit enregistré lors de la validation - v.HISTO_DESTRUCTEUR_ID is null and - v.TYPE_VALIDATION_ID = va.TYPE_VALIDATION_ID; - CREATE OR REPLACE FORCE VIEW /*"SYGAL".*/"V_SITU_DEPOT_VC_VALID_DOCT" ("THESE_ID", "VALIDE") AS - SELECT - v.these_id, - CASE WHEN v.id is not null THEN 1 ELSE 0 END valide -FROM VALIDATION v - JOIN TYPE_VALIDATION tv on v.TYPE_VALIDATION_ID = tv.id and tv.code = 'DEPOT_THESE_CORRIGEE' -where v.HISTO_DESTRUCTEUR_ID is null; - CREATE OR REPLACE FORCE VIEW /*"SYGAL".*/"V_SITU_DEPOT_VO" ("THESE_ID", "FICHIER_ID") AS - SELECT - ft.these_id, - f.id AS fichier_id -FROM FICHIER_THESE ft - JOIN FICHIER f ON ft.FICHIER_ID = f.id and f.HISTO_DESTRUCTION is null - JOIN NATURE_FICHIER nf ON f.NATURE_ID = nf.id AND nf.CODE = 'THESE_PDF' - JOIN VERSION_FICHIER vf ON f.VERSION_FICHIER_ID = vf.ID AND vf.CODE = 'VO' -where EST_ANNEXE = 0 AND EST_EXPURGE = 0 AND RETRAITEMENT IS NULL; - CREATE OR REPLACE FORCE VIEW /*"SYGAL".*/"V_SITU_DEPOT_VOC" ("THESE_ID", "FICHIER_ID") AS - SELECT - ft.these_id, - f.id AS fichier_id -FROM FICHIER_THESE ft - JOIN FICHIER f ON ft.FICHIER_ID = f.id and f.HISTO_DESTRUCTION is null - JOIN NATURE_FICHIER nf ON f.NATURE_ID = nf.id AND nf.CODE = 'THESE_PDF' - JOIN VERSION_FICHIER vf ON f.VERSION_FICHIER_ID = vf.ID AND vf.CODE = 'VOC' -where EST_ANNEXE = 0 AND EST_EXPURGE = 0 AND RETRAITEMENT IS NULL; - CREATE OR REPLACE FORCE VIEW /*"SYGAL".*/"V_SITU_RDV_BU_SAISIE_BU" ("THESE_ID", "OK") AS - SELECT - r.these_id, - CASE WHEN r.VERSION_ARCHIVABLE_FOURNIE = 1 and r.CONVENTION_MEL_SIGNEE = 1 and r.EXEMPL_PAPIER_FOURNI = 1 - and r.MOTS_CLES_RAMEAU is not null - THEN 1 ELSE 0 END ok -FROM RDV_BU r; - CREATE OR REPLACE FORCE VIEW /*"SYGAL".*/"V_SITU_RDV_BU_SAISIE_DOCT" ("THESE_ID", "OK") AS - SELECT - r.these_id, - CASE WHEN r.COORD_DOCTORANT IS NOT NULL AND r.DISPO_DOCTORANT IS NOT NULL - THEN 1 ELSE 0 END ok -FROM RDV_BU r; - CREATE OR REPLACE FORCE VIEW /*"SYGAL".*/"V_SITU_RDV_BU_VALIDATION_BU" ("THESE_ID", "VALIDE") AS - SELECT - v.these_id, - CASE WHEN v.id is not null THEN 1 ELSE 0 END valide -FROM VALIDATION v - JOIN TYPE_VALIDATION tv on v.TYPE_VALIDATION_ID = tv.id and tv.code = 'RDV_BU' -where v.HISTO_DESTRUCTEUR_ID is null; - CREATE OR REPLACE FORCE VIEW /*"SYGAL".*/"V_SITU_SIGNALEMENT_THESE" ("THESE_ID", "DESCRIPTION_ID") AS - SELECT - d.these_id, - d.id AS description_id -FROM METADONNEE_THESE d; - CREATE OR REPLACE FORCE VIEW /*"SYGAL".*/"V_SITU_VALIDATION_PAGE_COUV" ("THESE_ID", "VALIDE") AS - SELECT - v.these_id, - CASE WHEN v.id is not null THEN 1 ELSE 0 END valide -FROM VALIDATION v - JOIN TYPE_VALIDATION tv on v.TYPE_VALIDATION_ID = tv.id and tv.code = 'PAGE_DE_COUVERTURE' -where v.HISTO_DESTRUCTEUR_ID is null; - CREATE OR REPLACE FORCE VIEW /*"SYGAL".*/"V_SITU_VERIF_VA" ("THESE_ID", "EST_CONFORME") AS - SELECT - ft.these_id, - ft.EST_CONFORME -FROM FICHIER_THESE ft - JOIN FICHIER f ON ft.FICHIER_ID = f.id and f.HISTO_DESTRUCTION is null - JOIN VERSION_FICHIER v ON f.VERSION_FICHIER_ID = v.id AND v.CODE = 'VA' -where EST_ANNEXE = 0 AND EST_EXPURGE = 0; - CREATE OR REPLACE FORCE VIEW /*"SYGAL".*/"V_SITU_VERIF_VAC" ("THESE_ID", "EST_CONFORME") AS - SELECT - ft.these_id, - ft.EST_CONFORME -FROM FICHIER_THESE ft - JOIN FICHIER f ON ft.FICHIER_ID = f.id and f.HISTO_DESTRUCTION is null - JOIN VERSION_FICHIER v ON f.VERSION_FICHIER_ID = v.id AND v.CODE = 'VAC' -where EST_ANNEXE = 0 AND EST_EXPURGE = 0; - CREATE OR REPLACE FORCE VIEW /*"SYGAL".*/"V_SITU_VERSION_PAPIER_CORRIGEE" ("THESE_ID", "VALIDATION_ID") AS - SELECT - v.these_id, - v.id as validation_id -FROM VALIDATION v - JOIN TYPE_VALIDATION tv ON tv.ID = v.TYPE_VALIDATION_ID -WHERE tv.CODE='VERSION_PAPIER_CORRIGEE'; - CREATE OR REPLACE FORCE VIEW /*"SYGAL".*/"V_THESE_ANNEE_UNIV_FIRST" ("ID", "SOURCE_CODE", "SOURCE_ID", "THESE_ID", "ANNEE_UNIV", "HISTO_CREATEUR_ID", "HISTO_CREATION", "HISTO_MODIFICATEUR_ID", "HISTO_MODIFICATION", "HISTO_DESTRUCTEUR_ID", "HISTO_DESTRUCTION") AS - with firsts(SOURCE_CODE) as ( - select distinct first_value(SOURCE_CODE) OVER (PARTITION BY THESE_ID ORDER BY ANNEE_UNIV) - from THESE_ANNEE_UNIV - ) - select au."ID",au."SOURCE_CODE",au."SOURCE_ID",au."THESE_ID",au."ANNEE_UNIV",au."HISTO_CREATEUR_ID",au."HISTO_CREATION",au."HISTO_MODIFICATEUR_ID",au."HISTO_MODIFICATION",au."HISTO_DESTRUCTEUR_ID",au."HISTO_DESTRUCTION" - from THESE_ANNEE_UNIV au - join firsts fi on au.SOURCE_CODE = fi.SOURCE_CODE; - CREATE OR REPLACE FORCE VIEW /*"SYGAL".*/"V_TMP_ANOMALIE" ("ID", "ETABLISSEMENT_ID", "TABLE_NAME", "SOURCE_CODE", "TABLE_COLUMN", "COLUMN_VALUE", "DESCRIPTION") AS - with ds(ETABLISSEMENT_ID, TABLE_NAME, SOURCE_CODE, TABLE_COLUMN, COLUMN_VALUE, DESCRIPTION) as ( - -- - -- TMP_ACTEUR - -- - select - ETABLISSEMENT_ID, - 'TMP_ACTEUR', - SOURCE_CODE, - 'ETABLISSEMENT_ID', - ETABLISSEMENT_ID, - 'Aucun enregistrement existant dans ETABLISSEMENT avec CODE = ' || ETABLISSEMENT_ID - from TMP_ACTEUR tmp - where not exists(select * - from STRUCTURE t - where t.CODE = tmp.ETABLISSEMENT_ID) - union all - select - ETABLISSEMENT_ID, - 'TMP_ACTEUR', - SOURCE_CODE, - 'SOURCE_ID', - SOURCE_ID, - 'Aucun enregistrement existant dans SOURCE avec CODE = ' || SOURCE_ID - from TMP_ACTEUR tmp - where not exists(select * - from SOURCE t - where t.CODE = tmp.SOURCE_ID) - union all - select - ETABLISSEMENT_ID, - 'TMP_ACTEUR', - SOURCE_CODE, - 'INDIVIDU_ID', - INDIVIDU_ID, - 'Aucun enregistrement existant dans TMP_INDIVIDU avec SOURCE_CODE = ' || INDIVIDU_ID - from TMP_ACTEUR tmp - where not exists(select * - from TMP_INDIVIDU t - where t.SOURCE_CODE = tmp.INDIVIDU_ID) - union all - select - ETABLISSEMENT_ID, - 'TMP_ACTEUR', - SOURCE_CODE, - 'THESE_ID', - THESE_ID, - 'Aucun enregistrement existant dans TMP_THESE avec SOURCE_CODE = ' || THESE_ID - from TMP_ACTEUR tmp - where not exists(select * - from TMP_THESE t - where t.SOURCE_CODE = tmp.THESE_ID) - union all - select - ETABLISSEMENT_ID, - 'TMP_ACTEUR', - SOURCE_CODE, - 'ROLE_ID', - ROLE_ID, - 'Aucun enregistrement existant dans TMP_ROLE avec SOURCE_CODE = ' || ROLE_ID - from TMP_ACTEUR tmp - where not exists(select * - from TMP_ROLE t - where t.SOURCE_CODE = tmp.ROLE_ID) - union all - - -- - -- TMP_DOCTORANT - -- - select - ETABLISSEMENT_ID, - 'TMP_DOCTORANT', - SOURCE_CODE, - 'ETABLISSEMENT_ID', - ETABLISSEMENT_ID, - 'Aucun enregistrement existant dans ETABLISSEMENT avec CODE = ' || ETABLISSEMENT_ID - from TMP_DOCTORANT tmp - where not exists(select * - from STRUCTURE t - where t.CODE = tmp.ETABLISSEMENT_ID) - union all - select - ETABLISSEMENT_ID, - 'TMP_DOCTORANT', - SOURCE_CODE, - 'SOURCE_ID', - SOURCE_ID, - 'Aucun enregistrement existant dans SOURCE avec CODE = ' || SOURCE_ID - from TMP_DOCTORANT tmp - where not exists(select * - from SOURCE t - where t.CODE = tmp.SOURCE_ID) - union all - select - ETABLISSEMENT_ID, - 'TMP_DOCTORANT', - SOURCE_CODE, - 'INDIVIDU_ID', - INDIVIDU_ID, - 'Aucun enregistrement existant dans TMP_INDIVIDU avec SOURCE_CODE = ' || INDIVIDU_ID - from TMP_DOCTORANT tmp - where not exists(select * - from TMP_INDIVIDU t - where t.SOURCE_CODE = tmp.INDIVIDU_ID) - union all - - -- - -- TMP_ECOLE_DOCT - -- - select - ETABLISSEMENT_ID, - 'TMP_ECOLE_DOCT', - SOURCE_CODE, - 'ETABLISSEMENT_ID', - ETABLISSEMENT_ID, - 'Aucun enregistrement existant dans ETABLISSEMENT avec CODE = ' || ETABLISSEMENT_ID - from TMP_ECOLE_DOCT tmp - where not exists(select * - from STRUCTURE t - where t.CODE = tmp.ETABLISSEMENT_ID) - union all - select - ETABLISSEMENT_ID, - 'TMP_ECOLE_DOCT', - SOURCE_CODE, - 'SOURCE_ID', - SOURCE_ID, - 'Aucun enregistrement existant dans SOURCE avec CODE = ' || SOURCE_ID - from TMP_ECOLE_DOCT tmp - where not exists(select * - from SOURCE t - where t.CODE = tmp.SOURCE_ID) - union all - select - ETABLISSEMENT_ID, - 'TMP_ECOLE_DOCT', - SOURCE_CODE, - 'STRUCTURE_ID', - STRUCTURE_ID, - 'Aucun enregistrement existant dans TMP_STRUCTURE avec SOURCE_CODE = ' || STRUCTURE_ID - from TMP_ECOLE_DOCT tmp - where not exists(select * - from TMP_STRUCTURE t - where t.SOURCE_CODE = tmp.STRUCTURE_ID) - union all - - -- - -- TMP_ETABLISSEMENT - -- - select - ETABLISSEMENT_ID, - 'TMP_ETABLISSEMENT', - SOURCE_CODE, - 'ETABLISSEMENT_ID', - ETABLISSEMENT_ID, - 'Aucun enregistrement existant dans ETABLISSEMENT avec CODE = ' || ETABLISSEMENT_ID - from TMP_STRUCTURE tmp - where not exists(select * - from STRUCTURE t - where t.CODE = tmp.ETABLISSEMENT_ID) - union all - select - ETABLISSEMENT_ID, - 'TMP_ETABLISSEMENT', - SOURCE_CODE, - 'SOURCE_ID', - SOURCE_ID, - 'Aucun enregistrement existant dans SOURCE avec CODE = ' || SOURCE_ID - from TMP_ETABLISSEMENT tmp - where not exists(select * - from SOURCE t - where t.CODE = tmp.SOURCE_ID) - union all - select - ETABLISSEMENT_ID, - 'TMP_ETABLISSEMENT', - SOURCE_CODE, - 'STRUCTURE_ID', - STRUCTURE_ID, - 'Aucun enregistrement existant dans TMP_STRUCTURE avec SOURCE_CODE = ' || STRUCTURE_ID - from TMP_ETABLISSEMENT tmp - where not exists(select * - from TMP_ETABLISSEMENT t - where t.SOURCE_CODE = tmp.STRUCTURE_ID) - union all - - -- - -- TMP_INDIVIDU - -- - select - ETABLISSEMENT_ID, - 'TMP_INDIVIDU', - SOURCE_CODE, - 'ETABLISSEMENT_ID', - ETABLISSEMENT_ID, - 'Aucun enregistrement existant dans ETABLISSEMENT avec CODE = ' || ETABLISSEMENT_ID - from TMP_INDIVIDU tmp - where not exists(select * - from STRUCTURE t - where t.CODE = tmp.ETABLISSEMENT_ID) - union all - select - ETABLISSEMENT_ID, - 'TMP_INDIVIDU', - SOURCE_CODE, - 'SOURCE_ID', - SOURCE_ID, - 'Aucun enregistrement existant dans SOURCE avec CODE = ' || SOURCE_ID - from TMP_INDIVIDU tmp - where not exists(select * - from SOURCE t - where t.CODE = tmp.SOURCE_ID) - union all - - -- - -- TMP_ROLE - -- - select - ETABLISSEMENT_ID, - 'TMP_ROLE', - SOURCE_CODE, - 'ETABLISSEMENT_ID', - ETABLISSEMENT_ID, - 'Aucun enregistrement existant dans ETABLISSEMENT avec CODE = ' || ETABLISSEMENT_ID - from TMP_ROLE tmp - where not exists(select * - from STRUCTURE t - where t.CODE = tmp.ETABLISSEMENT_ID) - union all - select - ETABLISSEMENT_ID, - 'TMP_ROLE', - SOURCE_CODE, - 'SOURCE_ID', - SOURCE_ID, - 'Aucun enregistrement existant dans SOURCE avec CODE = ' || SOURCE_ID - from TMP_ROLE tmp - where not exists(select * - from SOURCE t - where t.CODE = tmp.SOURCE_ID) - union all - - -- - -- TMP_STRUCTURE - -- - select - ETABLISSEMENT_ID, - 'TMP_STRUCTURE', - SOURCE_CODE, - 'ETABLISSEMENT_ID', - ETABLISSEMENT_ID, - 'Aucun enregistrement existant dans ETABLISSEMENT avec CODE = ' || ETABLISSEMENT_ID - from TMP_STRUCTURE tmp - where not exists(select * - from STRUCTURE t - where t.CODE = tmp.ETABLISSEMENT_ID) - union all - select - ETABLISSEMENT_ID, - 'TMP_STRUCTURE', - SOURCE_CODE, - 'SOURCE_ID', - SOURCE_ID, - 'Aucun enregistrement existant dans SOURCE avec CODE = ' || SOURCE_ID - from TMP_STRUCTURE tmp - where not exists(select * - from SOURCE t - where t.CODE = tmp.SOURCE_ID) - union all - select - ETABLISSEMENT_ID, - 'TMP_STRUCTURE', - SOURCE_CODE, - 'TYPE_STRUCTURE_ID', - TYPE_STRUCTURE_ID, - 'Aucun enregistrement existant dans TYPE_STRUCTURE avec CODE = ' || TYPE_STRUCTURE_ID - from TMP_STRUCTURE tmp - where not exists(select * - from TYPE_STRUCTURE t - where t.CODE = tmp.TYPE_STRUCTURE_ID) - union all - - -- - -- TMP_THESE - -- - select - ETABLISSEMENT_ID, - 'TMP_THESE', - SOURCE_CODE, - 'ETABLISSEMENT_ID', - ETABLISSEMENT_ID, - 'Aucun enregistrement existant dans ETABLISSEMENT avec CODE = ' || ETABLISSEMENT_ID - from TMP_THESE tmp - where not exists(select * - from STRUCTURE t - where t.CODE = tmp.ETABLISSEMENT_ID) - union all - select - ETABLISSEMENT_ID, - 'TMP_THESE', - SOURCE_CODE, - 'SOURCE_ID', - SOURCE_ID, - 'Aucun enregistrement existant dans SOURCE avec CODE = ' || SOURCE_ID - from TMP_THESE tmp - where not exists(select * - from SOURCE t - where t.CODE = tmp.SOURCE_ID) - union all - select - ETABLISSEMENT_ID, - 'TMP_THESE', - SOURCE_CODE, - 'DOCTORANT_ID', - DOCTORANT_ID, - 'Aucun enregistrement existant dans TMP_DOCTORANT avec SOURCE_CODE = ' || DOCTORANT_ID - from TMP_THESE tmp - where not exists(select * - from TMP_DOCTORANT t - where t.SOURCE_CODE = tmp.DOCTORANT_ID) - union all - select - ETABLISSEMENT_ID, - 'TMP_THESE', - SOURCE_CODE, - 'ECOLE_DOCT_ID', - ECOLE_DOCT_ID, - 'Aucun enregistrement existant dans TMP_ECOLE_DOCT avec SOURCE_CODE = ' || ECOLE_DOCT_ID - from TMP_THESE tmp - where not exists(select * - from TMP_ECOLE_DOCT t - where t.SOURCE_CODE = tmp.ECOLE_DOCT_ID) - union all - select - ETABLISSEMENT_ID, - 'TMP_THESE', - SOURCE_CODE, - 'UNITE_RECH_ID', - UNITE_RECH_ID, - 'Aucun enregistrement existant dans TMP_UNITE_RECH avec SOURCE_CODE = ' || UNITE_RECH_ID - from TMP_THESE tmp - where not exists(select * - from TMP_UNITE_RECH t - where t.SOURCE_CODE = tmp.UNITE_RECH_ID) - union all - - -- - -- TMP_UNITE_RECH - -- - select - ETABLISSEMENT_ID, - 'TMP_UNITE_RECH', - SOURCE_CODE, - 'ETABLISSEMENT_ID', - ETABLISSEMENT_ID, - 'Aucun enregistrement existant dans ETABLISSEMENT avec CODE = ' || ETABLISSEMENT_ID - from TMP_UNITE_RECH tmp - where not exists(select * - from STRUCTURE t - where t.CODE = tmp.ETABLISSEMENT_ID) - union all - select - ETABLISSEMENT_ID, - 'TMP_UNITE_RECH', - SOURCE_CODE, - 'SOURCE_ID', - SOURCE_ID, - 'Aucun enregistrement existant dans SOURCE avec CODE = ' || SOURCE_ID - from TMP_UNITE_RECH tmp - where not exists(select * - from SOURCE t - where t.CODE = tmp.SOURCE_ID) - union all - select - ETABLISSEMENT_ID, - 'TMP_UNITE_RECH', - SOURCE_CODE, - 'STRUCTURE_ID', - STRUCTURE_ID, - 'Aucun enregistrement existant dans TMP_STRUCTURE avec SOURCE_CODE = ' || STRUCTURE_ID - from TMP_UNITE_RECH tmp - where not exists(select * - from TMP_STRUCTURE t - where t.SOURCE_CODE = tmp.STRUCTURE_ID) - union all - - -- - -- TMP_VARIABLE - -- - select - ETABLISSEMENT_ID, - 'TMP_VARIABLE', - SOURCE_CODE, - 'ETABLISSEMENT_ID', - ETABLISSEMENT_ID, - 'Aucun enregistrement existant dans ETABLISSEMENT avec CODE = ' || ETABLISSEMENT_ID - from TMP_VARIABLE tmp - where not exists(select * - from STRUCTURE t - where t.CODE = tmp.ETABLISSEMENT_ID) - union all - select - ETABLISSEMENT_ID, - 'TMP_VARIABLE', - SOURCE_CODE, - 'SOURCE_ID', - SOURCE_ID, - 'Aucun enregistrement existant dans SOURCE avec CODE = ' || SOURCE_ID - from TMP_VARIABLE tmp - where not exists(select * - from SOURCE t - where t.CODE = tmp.SOURCE_ID) - ) - - select rownum as id, ETABLISSEMENT_ID, TABLE_NAME, SOURCE_CODE, TABLE_COLUMN, COLUMN_VALUE, DESCRIPTION - from ds; - CREATE OR REPLACE FORCE VIEW /*"SYGAL".*/"V_WF_ETAPE_PERTIN" ("THESE_ID", "ETAPE_ID", "CODE", "ORDRE", "ID") AS - select - to_number(these_id) these_id, - to_number(etape_id) etape_id, - code, - ordre, - rownum id -from ( - -- - -- validation_page_de_couverture - -- - select - t.id as these_id, - e.id as etape_id, - e.code, - e.ordre - from these t - join wf_etape e on e.code = 'VALIDATION_PAGE_DE_COUVERTURE' - where t.ETAT_THESE in ('E', 'S') -- thèses en cours ou soutenues - - union all - - -- - -- depot_version_originale - -- - select - t.id as these_id, - e.id as etape_id, - e.code, - e.ordre - from these t - join wf_etape e on e.code = 'DEPOT_VERSION_ORIGINALE' - where t.ETAT_THESE in ('E', 'S') -- thèses en cours ou soutenues - - union all - - -- - -- autorisation_diffusion_these - -- - select - t.id as these_id, - e.id as etape_id, - e.code, - e.ordre - from these t - join wf_etape e on e.code = 'AUTORISATION_DIFFUSION_THESE' - where t.ETAT_THESE in ('E', 'S') -- thèses en cours ou soutenues - - union all - - -- - -- attestations - -- - select - t.id as these_id, - e.id as etape_id, - e.code, - e.ordre - from these t - join wf_etape e on e.code = 'ATTESTATIONS' - where t.ETAT_THESE in ('E', 'S') -- thèses en cours ou soutenues - - union all - - -- - -- signalement_these - -- - select - t.id as these_id, - e.id as etape_id, - e.code, - e.ordre - from these t - join wf_etape e on e.code = 'SIGNALEMENT_THESE' - where t.ETAT_THESE in ('E', 'S') -- thèses en cours ou soutenues - - union all - - -- - -- archivabilite_version_originale - -- - select - t.id as these_id, - e.id as etape_id, - e.code, - e.ordre - from these t - join wf_etape e on e.code = 'ARCHIVABILITE_VERSION_ORIGINALE' - where t.ETAT_THESE in ('E', 'S') -- thèses en cours ou soutenues - - union all - - -- - -- depot_version_archivage - -- - select - t.id as these_id, - e.id as etape_id, - e.code, - e.ordre - from these t - join wf_etape e on e.code = 'DEPOT_VERSION_ARCHIVAGE' - join v_situ_archivab_vo situ on situ.these_id = t.id and situ.est_valide = 0 -- VO non archivable - where t.ETAT_THESE in ('E', 'S') -- thèses en cours ou soutenues - - union all - - -- - -- archivabilite_version_archivage - -- - select - t.id as these_id, - e.id as etape_id, - e.code, - e.ordre - from these t - join wf_etape e on e.code = 'ARCHIVABILITE_VERSION_ARCHIVAGE' - join v_situ_archivab_vo situ on situ.these_id = t.id and situ.est_valide = 0 -- VO non archivable - where t.ETAT_THESE in ('E', 'S') -- thèses en cours ou soutenues - - union all - - -- - -- verification_version_archivage - -- - select - t.id as these_id, - e.id as etape_id, - e.code, - e.ordre - from these t - join wf_etape e on e.code = 'VERIFICATION_VERSION_ARCHIVAGE' - join v_situ_archivab_va situ on situ.these_id = t.id and situ.est_valide = 1 -- VA archivable - where t.ETAT_THESE in ('E', 'S') -- thèses en cours ou soutenues - - union all - - -- - -- rdv_bu_saisie_doctorant - -- - select - t.id as these_id, - e.id as etape_id, - e.code, - e.ordre - from these t - join wf_etape e on e.code = 'RDV_BU_SAISIE_DOCTORANT' - where t.ETAT_THESE in ('E', 'S') -- thèses en cours ou soutenues - - union all - - -- - -- rdv_bu_saisie_bu - -- - select - t.id as these_id, - e.id as etape_id, - e.code, - e.ordre - from these t - join wf_etape e on e.code = 'RDV_BU_SAISIE_BU' - where t.ETAT_THESE in ('E', 'S') -- thèses en cours ou soutenues - - union all - - -- - -- rdv_bu_validation_bu - -- - select - t.id as these_id, - e.id as etape_id, - e.code, - e.ordre - from these t - join wf_etape e on e.code = 'RDV_BU_VALIDATION_BU' - where t.ETAT_THESE in ('E', 'S') -- thèses en cours ou soutenues - - - - union all - - - - -- - -- depot_version_originale_corrigee - -- - select - t.id as these_id, - e.id as etape_id, - e.code, - e.ordre - from these t - join wf_etape e on e.code = 'DEPOT_VERSION_ORIGINALE_CORRIGEE' - where (t.correc_autorisee is not null or t.CORREC_AUTORISEE_FORCEE is not null) -- correction attendue - and t.ETAT_THESE in ('E', 'S') -- thèses en cours ou soutenues - - union all - - -- - -- autorisation_diffusion_these_version_corrigee - -- - select - t.id as these_id, - e.id as etape_id, - e.code, - e.ordre - from these t - join wf_etape e on e.code = 'AUTORISATION_DIFFUSION_THESE_VERSION_CORRIGEE' - where (t.correc_autorisee is not null or t.CORREC_AUTORISEE_FORCEE is not null) -- correction attendue - and t.ETAT_THESE in ('E', 'S') -- thèses en cours ou soutenues - - union all - - -- - -- attestations_version_corrigee - -- - select - t.id as these_id, - e.id as etape_id, - e.code, - e.ordre - from these t - join wf_etape e on e.code = 'ATTESTATIONS_VERSION_CORRIGEE' - where (t.correc_autorisee is not null or t.CORREC_AUTORISEE_FORCEE is not null) -- correction attendue - and t.ETAT_THESE in ('E', 'S') -- thèses en cours ou soutenues - - union all - - -- - -- archivabilite_version_originale_corrigee - -- - select - t.id as these_id, - e.id as etape_id, - e.code, - e.ordre - from these t - join wf_etape e on e.code = 'ARCHIVABILITE_VERSION_ORIGINALE_CORRIGEE' - where (t.correc_autorisee is not null or t.CORREC_AUTORISEE_FORCEE is not null) -- correction attendue - and t.ETAT_THESE in ('E', 'S') -- thèses en cours ou soutenues - - union all - - -- - -- depot_version_archivage_corrigee - -- - select - t.id as these_id, - e.id as etape_id, - e.code, - e.ordre - from these t - join wf_etape e on e.code = 'DEPOT_VERSION_ARCHIVAGE_CORRIGEE' - join v_situ_archivab_voc situ on situ.these_id = t.id and situ.est_valide = 0 -- VOC non archivable - where (t.correc_autorisee is not null or t.CORREC_AUTORISEE_FORCEE is not null) -- correction attendue - and t.ETAT_THESE in ('E', 'S') -- thèses en cours ou soutenues - - union all - - -- - -- archivabilite_version_archivage_corrigee - -- - select - t.id as these_id, - e.id as etape_id, - e.code, - e.ordre - from these t - join wf_etape e on e.code = 'ARCHIVABILITE_VERSION_ARCHIVAGE_CORRIGEE' - join v_situ_archivab_voc situ on situ.these_id = t.id and situ.est_valide = 0 -- VOC non archivable - where (t.correc_autorisee is not null or t.CORREC_AUTORISEE_FORCEE is not null) -- correction attendue - and t.ETAT_THESE in ('E', 'S') -- thèses en cours ou soutenues - - union all - - -- - -- verification_version_archivage_corrigee - -- - select - t.id as these_id, - e.id as etape_id, - e.code, - e.ordre - from these t - join wf_etape e on e.code = 'VERIFICATION_VERSION_ARCHIVAGE_CORRIGEE' - join v_situ_archivab_vac situ on situ.these_id = t.id and situ.est_valide = 1 -- VAC archivable - where (t.correc_autorisee is not null or t.CORREC_AUTORISEE_FORCEE is not null) -- correction attendue - and t.ETAT_THESE in ('E', 'S') -- thèses en cours ou soutenues - - union all - - -- - -- depot_version_corrigee_validation_doctorant - -- - select - t.id as these_id, - e.id as etape_id, - e.code, - e.ordre - from these t - join wf_etape e on e.code = 'DEPOT_VERSION_CORRIGEE_VALIDATION_DOCTORANT' - where (t.correc_autorisee is not null or t.CORREC_AUTORISEE_FORCEE is not null) -- correction attendue - and t.ETAT_THESE in ('E', 'S') -- thèses en cours ou soutenues - - union all - - -- - -- depot_version_corrigee_validation_directeur - -- - select - t.id as these_id, - e.id as etape_id, - e.code, - e.ordre - from these t - join wf_etape e on e.code = 'DEPOT_VERSION_CORRIGEE_VALIDATION_DIRECTEUR' - where (t.correc_autorisee is not null or t.CORREC_AUTORISEE_FORCEE is not null) -- correction attendue - and t.ETAT_THESE in ('E', 'S') -- thèses en cours ou soutenues - - union all - - -- - -- REMISE_EXEMPLAIRE_PAPIER_THESE_CORRIGEE - -- - select - t.id as these_id, - e.id as etape_id, - e.code, - e.ordre - from these t - join wf_etape e on e.code = 'REMISE_EXEMPLAIRE_PAPIER_THESE_CORRIGEE' - join DIFFUSION d on d.VERSION_CORRIGEE = 1 and d.AUTORIS_MEL in (0/*Non*/, 1/*Oui+embargo*/) -- exemplaire papier requis - where (t.correc_autorisee is not null or t.CORREC_AUTORISEE_FORCEE is not null) -- correction attendue - and t.ETAT_THESE in ('E', 'S') -- thèses en cours ou soutenues - - ); - CREATE OR REPLACE FORCE VIEW /*"SYGAL".*/"V_WORKFLOW" ("ID", "THESE_ID", "ETAPE_ID", "CODE", "ORDRE", "FRANCHIE", "RESULTAT", "OBJECTIF", "DENSE_RANK", "ATTEIGNABLE", "COURANTE") AS - SELECT - ROWNUM as id, - t.THESE_ID, - t.ETAPE_ID, - t.CODE, - t.ORDRE, - t.FRANCHIE, - t.RESULTAT, - t.OBJECTIF, - -- NB: dans les 3 lignes suivantes, c'est la même expression 'dense_rank() over(...)' qui est répétée : - (dense_rank() over(partition by t.THESE_ID, t.FRANCHIE order by t.ORDRE)) dense_rank, - case when t.FRANCHIE = 1 or (dense_rank() over(partition by t.THESE_ID, t.FRANCHIE order by t.ORDRE)) = 1 then 1 else 0 end atteignable, - case when (dense_rank() over(partition by t.THESE_ID, t.FRANCHIE order by t.ORDRE)) = 1 and t.FRANCHIE = 0 then 1 else 0 end courante -FROM ( - - -- - -- VALIDATION_PAGE_DE_COUVERTURE : franchie si version page de couverture validée - -- - SELECT - t.id AS these_id, - e.id AS etape_id, - e.code, - e.ORDRE, - CASE WHEN v.valide IS NULL THEN 0 ELSE 1 END franchie, - CASE WHEN v.valide IS NULL THEN 0 ELSE 1 END resultat, - 1 objectif - FROM these t - JOIN WF_ETAPE e ON e.code = 'VALIDATION_PAGE_DE_COUVERTURE' - LEFT JOIN V_SITU_VALIDATION_PAGE_COUV v ON v.these_id = t.id - - UNION ALL - - -- - -- DEPOT_VERSION_ORIGINALE : franchie si version originale déposée - -- - SELECT - t.id AS these_id, - e.id AS etape_id, - e.code, - e.ORDRE, - CASE WHEN v.fichier_id IS NULL - THEN 0 - ELSE 1 END franchie, - CASE WHEN v.fichier_id IS NULL - THEN 0 - ELSE 1 END resultat, - 1 objectif - FROM these t - JOIN WF_ETAPE e ON e.code = 'DEPOT_VERSION_ORIGINALE' - LEFT JOIN V_SITU_DEPOT_VO v ON v.these_id = t.id - - UNION ALL - - -- - -- AUTORISATION_DIFFUSION_THESE : franchie si données saisies - -- - SELECT - t.id AS these_id, - e.id AS etape_id, - e.code, - e.ORDRE, - CASE WHEN v.diffusion_id IS NULL - THEN 0 - ELSE 1 END franchie, - CASE WHEN v.diffusion_id IS NULL - THEN 0 - ELSE 1 END resultat, - 1 objectif - FROM these t - JOIN WF_ETAPE e ON e.code = 'AUTORISATION_DIFFUSION_THESE' - LEFT JOIN V_SITU_AUTORIS_DIFF_THESE v ON v.these_id = t.id - - UNION ALL - - -- - -- ATTESTATIONS : franchie si données saisies - -- - SELECT - t.id AS these_id, - e.id AS etape_id, - e.code, - e.ORDRE, - CASE WHEN v.attestation_id IS NULL THEN 0 ELSE 1 END franchie, - CASE WHEN v.attestation_id IS NULL THEN 0 ELSE 1 END resultat, - 1 objectif - FROM these t - JOIN WF_ETAPE e ON e.code = 'ATTESTATIONS' - LEFT JOIN V_SITU_ATTESTATIONS v ON v.these_id = t.id - - UNION ALL - - -- - -- SIGNALEMENT_THESE : franchie si données saisies - -- - SELECT - t.id AS these_id, - e.id AS etape_id, - e.code, - e.ORDRE, - CASE WHEN v.description_id IS NULL - THEN 0 - ELSE 1 END franchie, - CASE WHEN v.description_id IS NULL - THEN 0 - ELSE 1 END resultat, - 1 objectif - FROM these t - JOIN WF_ETAPE e ON e.code = 'SIGNALEMENT_THESE' - LEFT JOIN V_SITU_SIGNALEMENT_THESE v ON v.these_id = t.id - - UNION ALL - - -- - -- ARCHIVABILITE_VERSION_ORIGINALE : franchie si l'archivabilité de la version originale a été testée - -- - SELECT - t.id AS these_id, - e.id AS etape_id, - e.code, - e.ORDRE, - CASE WHEN v.THESE_ID IS NULL THEN 0 ELSE 1 END franchie, - -- CASE WHEN v.THESE_ID IS NULL THEN - -- 0 -- test d'archivabilité inexistant - -- ELSE - -- CASE WHEN v.EST_VALIDE IS NULL THEN - -- 1 -- test d'archivabilité existant mais résultat indéterminé (plantage) - -- ELSE - -- CASE WHEN v.EST_VALIDE = 1 THEN - -- 1 -- test d'archivabilité réussi - -- ELSE - -- 0 -- test d'archivabilité échoué - -- END - -- END - -- END franchie, - CASE WHEN v.EST_VALIDE IS NULL OR v.EST_VALIDE = 0 THEN 0 ELSE 1 END resultat, - 1 objectif - FROM these t - JOIN WF_ETAPE e ON e.code = 'ARCHIVABILITE_VERSION_ORIGINALE' - LEFT JOIN V_SITU_ARCHIVAB_VO v ON v.these_id = t.id - - UNION ALL - - -- - -- DEPOT_VERSION_ARCHIVAGE : franchie si version d'archivage déposée - -- - SELECT - t.id AS these_id, - e.id AS etape_id, - e.code, - e.ORDRE, - CASE WHEN v.fichier_id IS NULL - THEN 0 - ELSE 1 END franchie, - CASE WHEN v.fichier_id IS NULL - THEN 0 - ELSE 1 END resultat, - 1 objectif - FROM these t - JOIN WF_ETAPE e ON e.code = 'DEPOT_VERSION_ARCHIVAGE' - LEFT JOIN V_SITU_DEPOT_VA v ON v.these_id = t.id - LEFT JOIN fichier f ON f.id = v.fichier_id - - UNION ALL - - -- - -- ARCHIVABILITE_VERSION_ARCHIVAGE : franchie si l'archivabilité de la version d'archivage a été testée - -- - SELECT - t.id AS these_id, - e.id AS etape_id, - e.code, - e.ORDRE, - CASE WHEN v.EST_VALIDE IS NULL - THEN 0 - ELSE 1 END franchie, - CASE WHEN v.EST_VALIDE IS NULL OR v.EST_VALIDE = 0 - THEN 0 - ELSE 1 END resultat, - 1 objectif - FROM these t - JOIN WF_ETAPE e ON e.code = 'ARCHIVABILITE_VERSION_ARCHIVAGE' - LEFT JOIN V_SITU_ARCHIVAB_VA v ON v.these_id = t.id - - UNION ALL - - -- - -- VERIFICATION_VERSION_ARCHIVAGE : franchie si vérification de la version originale effectuée (peu importe la réponse) - -- - SELECT - t.id AS these_id, - e.id AS etape_id, - e.code, - e.ORDRE, - CASE WHEN v.EST_CONFORME IS NULL - THEN 0 - ELSE 1 END franchie, - CASE WHEN v.EST_CONFORME IS NULL OR v.EST_CONFORME = 0 - THEN 0 - ELSE 1 END resultat, - 1 objectif - FROM these t - JOIN WF_ETAPE e ON e.code = 'VERIFICATION_VERSION_ARCHIVAGE' - LEFT JOIN V_SITU_VERIF_VA v ON v.these_id = t.id - - UNION ALL - - -- - -- RDV_BU_SAISIE_DOCTORANT : franchie si données doctorant saisies - -- - SELECT - t.id AS these_id, - e.id AS etape_id, - e.code, - e.ORDRE, - coalesce(v.ok, 0) franchie, - (CASE WHEN rdv.COORD_DOCTORANT IS NULL THEN 0 ELSE 1 END + - CASE WHEN rdv.DISPO_DOCTORANT IS NULL THEN 0 ELSE 1 END) resultat, - 2 objectif - FROM these t - JOIN WF_ETAPE e ON e.code = 'RDV_BU_SAISIE_DOCTORANT' - LEFT JOIN V_SITU_RDV_BU_SAISIE_DOCT v ON v.these_id = t.id - LEFT JOIN RDV_BU rdv ON rdv.THESE_ID = t.id - - UNION ALL - - -- - -- RDV_BU_VALIDATION_BU : franchie si /*données BU saisies ET*/ une validation BU existe - -- - SELECT - t.id AS these_id, - e.id AS etape_id, - e.code, - e.ORDRE, - /*coalesce(vs.ok, 0) **/ coalesce(v.valide, 0) franchie, - /*coalesce(vs.ok, 0) +*/ coalesce(v.valide, 0) resultat, - /*2*/1 objectif - FROM these t - JOIN WF_ETAPE e ON e.code = 'RDV_BU_VALIDATION_BU' - --LEFT JOIN V_SITU_RDV_BU_SAISIE_BU vs ON vs.these_id = t.id - LEFT JOIN V_SITU_RDV_BU_VALIDATION_BU v ON v.these_id = t.id - - UNION ALL - - -- - -- DEPOT_VERSION_ORIGINALE_CORRIGEE : franchie si version originale corrigée déposée - -- - SELECT - t.id AS these_id, - e.id AS etape_id, - e.code, - e.ORDRE, - CASE WHEN v.fichier_id IS NULL - THEN 0 - ELSE 1 END franchie, - CASE WHEN v.fichier_id IS NULL - THEN 0 - ELSE 1 END resultat, - 1 objectif - FROM these t - JOIN WF_ETAPE e ON e.code = 'DEPOT_VERSION_ORIGINALE_CORRIGEE' - LEFT JOIN V_SITU_DEPOT_VOC v ON v.these_id = t.id - - UNION ALL - - -- - -- AUTORISATION_DIFFUSION_THESE_VERSION_CORRIGEE : franchie si données saisies - -- - SELECT - t.id AS these_id, - e.id AS etape_id, - e.code, - e.ORDRE, - CASE WHEN v.diffusion_id IS NULL THEN 0 ELSE 1 END franchie, - CASE WHEN v.diffusion_id IS NULL THEN 0 ELSE 1 END resultat, - 1 objectif - FROM these t - JOIN WF_ETAPE e ON e.code = 'AUTORISATION_DIFFUSION_THESE_VERSION_CORRIGEE' - LEFT JOIN V_SITU_AUTORIS_DIFF_THESE_VOC v ON v.these_id = t.id - - UNION ALL - - -- - -- ATTESTATIONS_VERSION_CORRIGEE : franchie si données saisies - -- - SELECT - t.id AS these_id, - e.id AS etape_id, - e.code, - e.ORDRE, - CASE WHEN v.attestation_id IS NULL THEN 0 ELSE 1 END franchie, - CASE WHEN v.attestation_id IS NULL THEN 0 ELSE 1 END resultat, - 1 objectif - FROM these t - JOIN WF_ETAPE e ON e.code = 'ATTESTATIONS_VERSION_CORRIGEE' - LEFT JOIN V_SITU_ATTESTATIONS_VOC v ON v.these_id = t.id - - UNION ALL - - -- - -- ARCHIVABILITE_VERSION_ORIGINALE_CORRIGEE : franchie si l'archivabilité de la version originale corrigée a été testée - -- - SELECT - t.id AS these_id, - e.id AS etape_id, - e.code, - e.ORDRE, - CASE WHEN v.THESE_ID IS NULL THEN 0 ELSE 1 END franchie, - CASE WHEN v.EST_VALIDE IS NULL OR v.EST_VALIDE = 0 THEN 0 ELSE 1 END resultat, - 1 objectif - FROM these t - JOIN WF_ETAPE e ON e.code = 'ARCHIVABILITE_VERSION_ORIGINALE_CORRIGEE' - LEFT JOIN V_SITU_ARCHIVAB_VOC v ON v.these_id = t.id - - UNION ALL - - -- - -- DEPOT_VERSION_ARCHIVAGE_CORRIGEE : franchie si version d'archivage corrigée déposée - -- - SELECT - t.id AS these_id, - e.id AS etape_id, - e.code, - e.ORDRE, - CASE WHEN v.fichier_id IS NULL - THEN 0 - ELSE 1 END franchie, - CASE WHEN v.fichier_id IS NULL - THEN 0 - ELSE 1 END resultat, - 1 objectif - FROM these t - JOIN WF_ETAPE e ON e.code = 'DEPOT_VERSION_ARCHIVAGE_CORRIGEE' - LEFT JOIN V_SITU_DEPOT_VAC v ON v.these_id = t.id - LEFT JOIN fichier f ON f.id = v.fichier_id - - UNION ALL - - -- - -- ARCHIVABILITE_VERSION_ARCHIVAGE_CORRIGEE : franchie si la version d'archivage corrigée est archivable - -- - SELECT - t.id AS these_id, - e.id AS etape_id, - e.code, - e.ORDRE, - CASE WHEN v.EST_VALIDE = 1 THEN 1 ELSE 0 END franchie, - CASE WHEN v.EST_VALIDE = 1 THEN 1 ELSE 0 END resultat, - 1 objectif - FROM these t - JOIN WF_ETAPE e ON e.code = 'ARCHIVABILITE_VERSION_ARCHIVAGE_CORRIGEE' - LEFT JOIN V_SITU_ARCHIVAB_VAC v ON v.these_id = t.id - - UNION ALL - - -- - -- VERIFICATION_VERSION_ARCHIVAGE_CORRIGEE : franchie si la version corrigée est certifiée conforme - -- - SELECT - t.id AS these_id, - e.id AS etape_id, - e.code, - e.ORDRE, - CASE WHEN v.EST_CONFORME = 1 THEN 1 ELSE 0 END franchie, - CASE WHEN v.EST_CONFORME = 1 THEN 1 ELSE 0 END resultat, - 1 objectif - FROM these t - JOIN WF_ETAPE e ON e.code = 'VERIFICATION_VERSION_ARCHIVAGE_CORRIGEE' - LEFT JOIN V_SITU_VERIF_VAC v ON v.these_id = t.id - - UNION ALL - - -- - -- DEPOT_VERSION_CORRIGEE_VALIDATION_DOCTORANT : franchie si la validation attendue existe - -- - SELECT - t.id AS these_id, - e.id AS etape_id, - e.code, - e.ORDRE, - coalesce(v.valide, 0) franchie, - coalesce(v.valide, 0) resultat, - 1 objectif - FROM these t - JOIN WF_ETAPE e ON e.code = 'DEPOT_VERSION_CORRIGEE_VALIDATION_DOCTORANT' - LEFT JOIN V_SITU_DEPOT_VC_VALID_DOCT v ON v.these_id = t.id - - UNION ALL - - -- - -- DEPOT_VERSION_CORRIGEE_VALIDATION_DIRECTEUR : franchie si toutes les validations attendues existent - -- - select * from ( - WITH tmp AS ( - SELECT - these_id, - sum(valide) AS resultat, - count(valide) AS objectif - FROM V_SITU_DEPOT_VC_VALID_DIR - GROUP BY these_id - ) - SELECT - t.id AS these_id, - e.id AS etape_id, - e.code, - e.ORDRE, - case when coalesce(v.resultat, 0) = v.objectif then 1 else 0 end franchie, - coalesce(v.resultat, 0) resultat, - v.objectif - FROM these t - JOIN WF_ETAPE e ON e.code = 'DEPOT_VERSION_CORRIGEE_VALIDATION_DIRECTEUR' - LEFT JOIN tmp v ON v.these_id = t.id - ) - - UNION ALL - - -- - -- REMISE_EXEMPLAIRE_PAPIER_THESE_CORRIGEE : franchie pas pour le moment - -- - select * from ( - WITH tmp_last AS ( - SELECT - THESE_ID as these_id, - count(THESE_ID) AS resultat - FROM V_SITU_VERSION_PAPIER_CORRIGEE - GROUP BY THESE_ID - ) - SELECT - t.id AS these_id, - e.id AS etape_id, - e.code, - e.ORDRE, - coalesce(tl.resultat, 0) franchie, - 0, - 1 - FROM these t - JOIN WF_ETAPE e ON e.code = 'REMISE_EXEMPLAIRE_PAPIER_THESE_CORRIGEE' - LEFT JOIN tmp_last tl ON tl.these_id = t.id - ) - - ) t - JOIN V_WF_ETAPE_PERTIN v ON t.these_id = v.these_id AND t.etape_id = v.etape_id; - CREATE OR REPLACE PACKAGE /*"SYGAL".*/"APP_IMPORT" IS - - PROCEDURE REFRESH_MV( mview_name VARCHAR2 ); - PROCEDURE SYNC_TABLES; - PROCEDURE SYNCHRONISATION; - - PROCEDURE STORE_OBSERV_RESULTS; - -END APP_IMPORT; -/ - CREATE OR REPLACE PACKAGE /*"SYGAL".*/"APP_WORKFLOW" AS - - /** - * @deprecated depuis l'utilisation de 'dense_rank' pour calculer les témoins 'attegnable' et 'courant' - * dans la vue V_WORKFLOW. - */ - function atteignable(p_etape_id NUMERIC, p_these_id NUMERIC) return NUMERIC; - -END APP_WORKFLOW; -/ - CREATE OR REPLACE PACKAGE /*"SYGAL".*/"UNICAEN_IMPORT" AS - - PROCEDURE set_current_user(p_current_user IN INTEGER); - FUNCTION get_current_user return INTEGER; - - FUNCTION get_current_annee RETURN INTEGER; - PROCEDURE set_current_annee (p_current_annee INTEGER); - - FUNCTION get_sql_criterion( table_name varchar2, sql_criterion VARCHAR2 ) RETURN CLOB; - PROCEDURE SYNC_LOG( message CLOB, table_name VARCHAR2 DEFAULT NULL, source_code VARCHAR2 DEFAULT NULL ); - - -- AUTOMATIC GENERATION -- - - PROCEDURE MAJ_STRUCTURE(SQL_CRITERION CLOB DEFAULT '', IGNORE_UPD_COLS CLOB DEFAULT ''); - PROCEDURE MAJ_ETABLISSEMENT(SQL_CRITERION CLOB DEFAULT '', IGNORE_UPD_COLS CLOB DEFAULT ''); - PROCEDURE MAJ_ECOLE_DOCT(SQL_CRITERION CLOB DEFAULT '', IGNORE_UPD_COLS CLOB DEFAULT ''); - PROCEDURE MAJ_UNITE_RECH(SQL_CRITERION CLOB DEFAULT '', IGNORE_UPD_COLS CLOB DEFAULT ''); - PROCEDURE MAJ_INDIVIDU(SQL_CRITERION CLOB DEFAULT '', IGNORE_UPD_COLS CLOB DEFAULT ''); - PROCEDURE MAJ_DOCTORANT(SQL_CRITERION CLOB DEFAULT '', IGNORE_UPD_COLS CLOB DEFAULT ''); - PROCEDURE MAJ_THESE(SQL_CRITERION CLOB DEFAULT '', IGNORE_UPD_COLS CLOB DEFAULT ''); - PROCEDURE MAJ_ROLE(SQL_CRITERION CLOB DEFAULT '', IGNORE_UPD_COLS CLOB DEFAULT ''); - PROCEDURE MAJ_ACTEUR(SQL_CRITERION CLOB DEFAULT '', IGNORE_UPD_COLS CLOB DEFAULT ''); - PROCEDURE MAJ_VARIABLE(SQL_CRITERION CLOB DEFAULT '', IGNORE_UPD_COLS CLOB DEFAULT ''); - PROCEDURE MAJ_TITRE_ACCES(SQL_CRITERION CLOB DEFAULT '', IGNORE_UPD_COLS CLOB DEFAULT ''); - PROCEDURE MAJ_THESE_ANNEE_UNIV(SQL_CRITERION CLOB DEFAULT '', IGNORE_UPD_COLS CLOB DEFAULT ''); - PROCEDURE MAJ_FINANCEMENT(SQL_CRITERION CLOB DEFAULT '', IGNORE_UPD_COLS CLOB DEFAULT ''); - - -- END OF AUTOMATIC GENERATION -- -END UNICAEN_IMPORT; -/ - CREATE OR REPLACE PACKAGE /*"SYGAL".*/"UNICAEN_ORACLE" AS - - FUNCTION implode(i_query VARCHAR2, i_seperator VARCHAR2 DEFAULT ',') RETURN VARCHAR2; - - FUNCTION STR_REDUCE( str CLOB ) RETURN CLOB; - - FUNCTION STR_FIND( haystack CLOB, needle VARCHAR2 ) RETURN NUMERIC; - - FUNCTION LIKED( haystack CLOB, needle CLOB ) RETURN NUMERIC; - - FUNCTION COMPRISE_ENTRE( date_debut DATE, date_fin DATE, date_obs DATE DEFAULT NULL, inclusif NUMERIC DEFAULT 0 ) RETURN NUMERIC; - -END UNICAEN_ORACLE; -/ - CREATE OR REPLACE FUNCTION /*"SYGAL".*/"GEN_TABLE_INSERTS" (V_TABLE_NAME VARCHAR2) RETURN clob -AS - v_column_list clob; - v_insert_list clob; - v_ref_cur_columns clob; - v_ref_cur_query clob; - v_ref_cur_output clob; - v_column_name clob; - v_result clob; - cursor c1 is select column_name, data_type from all_tab_columns where table_name = v_table_name - order by column_id; - refcur sys_refcursor; -begin - for i in c1 loop - v_column_list := v_column_list||','||i.column_name; - if i.data_type = 'NUMBER' then - v_column_name := i.column_name; - elsif i.data_type = 'DATE' then - v_column_name := - chr(39)||'to_date('||chr(39)||'||chr(39)'||'||to_char('||i.column_name||','||chr(39)||'dd/mm/yyyy -hh:mi:ss'||chr(39)||')||chr(39)||'||chr(39)||', '||chr(39)||'||chr(39)||'||chr(39)||'dd/mm/rrrr -hh:mi:ss'||chr(39)||'||chr(39)||'||chr(39)||')'||chr(39); - elsif i.data_type = 'VARCHAR2' then - v_column_name := 'chr(39)||'||i.column_name||'||chr(39)'; - end if; - v_ref_cur_columns := v_ref_cur_columns||'||'||chr(39)||','||chr(39)||'||'||v_column_name; - end loop; - v_column_list := ltrim(v_column_list,','); - v_ref_cur_columns := substr(v_ref_cur_columns,8); - - v_insert_list := 'INSERT INTO '||v_table_name||' ('||v_column_list||') VALUES '; - v_ref_cur_query := 'SELECT '||v_ref_cur_columns||' FROM '||v_table_name; - - open refcur for v_ref_cur_query; - loop - fetch refcur into v_ref_cur_output; - exit when refcur%notfound; - v_ref_cur_output := '('||v_ref_cur_output||');'; - v_ref_cur_output := replace(v_ref_cur_output,',,',',null,'); - v_ref_cur_output := replace(v_ref_cur_output,'(,','(null,'); - v_ref_cur_output := replace(v_ref_cur_output,',,)',',null)'); - v_ref_cur_output := replace(v_ref_cur_output,'null,)','null,null)'); - v_ref_cur_output := v_insert_list||v_ref_cur_output; - dbms_output.put_line (v_ref_cur_output); - - v_result := v_result||v_ref_cur_output || chr(10); - end loop; - - return v_result; -end; -/ - CREATE OR REPLACE FUNCTION /*"SYGAL".*/"INDIVIDU_HAYSTACK" ( - NOM_USUEL varchar2, - NOM_PATRONYMIQUE varchar2, - PRENOM1 varchar2, - EMAIL varchar2, - SOURCE_CODE varchar2) RETURN VARCHAR2 -AS - BEGIN - return trim(UNICAEN_ORACLE.str_reduce( - NOM_USUEL || ' ' || PRENOM1 || ' ' || NOM_PATRONYMIQUE || ' ' || PRENOM1 || ' ' || - PRENOM1 || ' ' || NOM_USUEL || ' ' || PRENOM1 || ' ' || NOM_PATRONYMIQUE || ' ' || - EMAIL || ' ' || - SOURCE_CODE - )); - END; -/ - CREATE OR REPLACE PACKAGE BODY /*"SYGAL".*/"APP_IMPORT" -IS - PROCEDURE REFRESH_MV( mview_name VARCHAR2 ) IS - BEGIN - DBMS_MVIEW.REFRESH(mview_name, 'C'); - EXCEPTION WHEN OTHERS THEN - UNICAEN_IMPORT.SYNC_LOG( SQLERRM, mview_name ); - END; - - PROCEDURE SYNC_TABLES - IS - BEGIN - -- mise à jour des tables à partir des vues sources - -- NB: l'ordre importe ! - UNICAEN_IMPORT.MAJ_STRUCTURE(); - UNICAEN_IMPORT.MAJ_ETABLISSEMENT(); - UNICAEN_IMPORT.MAJ_ECOLE_DOCT(); - UNICAEN_IMPORT.MAJ_UNITE_RECH(); - UNICAEN_IMPORT.MAJ_INDIVIDU(); - UNICAEN_IMPORT.MAJ_DOCTORANT(); - UNICAEN_IMPORT.MAJ_THESE(); - UNICAEN_IMPORT.MAJ_THESE_ANNEE_UNIV(); - UNICAEN_IMPORT.MAJ_ROLE(); - UNICAEN_IMPORT.MAJ_ACTEUR(); - UNICAEN_IMPORT.MAJ_VARIABLE(); - UNICAEN_IMPORT.MAJ_FINANCEMENT(); - UNICAEN_IMPORT.MAJ_TITRE_ACCES(); - REFRESH_MV('MV_RECHERCHE_THESE'); -- NB: à faire en dernier - END; - - -- - -- Recherche des changements de type UPDATE concernant la colonne de table observée et - -- enregistrement de ces changements dans une table. - -- - PROCEDURE STORE_UPDATE_OBSERV_RESULT(observ IMPORT_OBSERV%ROWTYPE) - IS - u_col_name VARCHAR2(50) := 'U_' || observ.column_name; - where_to_value CLOB := 'v.' || observ.column_name || case when observ.to_value is null then ' is null' else ' = ''' || observ.to_value || '''' end; - i_query clob := 'select v.source_code, t.' || observ.column_name || ' || ''>'' || v.' || observ.column_name || ' detail ' || - 'from v_diff_' || observ.table_name || ' v join ' || observ.table_name || ' t on t.source_code = v.source_code where ' || u_col_name || ' = 1 and ' || where_to_value || ' order by v.source_code'; - - TYPE r_cursor is REF CURSOR; - rc r_cursor; - l_id CLOB; - l_detail CLOB; - BEGIN - --DBMS_OUTPUT.PUT_LINE(i_query); - OPEN rc FOR i_query; - LOOP - FETCH rc INTO l_id, l_detail; - EXIT WHEN rc%NOTFOUND; - --DBMS_OUTPUT.PUT_LINE(l_id); DBMS_OUTPUT.PUT_LINE(l_detail); - insert into IMPORT_OBSERV_RESULT(ID, IMPORT_OBSERV_ID, DATE_CREATION, SOURCE_CODE, RESULTAT) values - (IMPORT_OBSERV_RESULT_ID_SEQ.nextval, observ.id, sysdate, l_id, l_detail); - END LOOP; - END; - - PROCEDURE STORE_OBSERV_RESULTS - IS - BEGIN - for observ in (select * from IMPORT_OBSERV where enabled = 1) loop - if (observ.operation = 'UPDATE') then - STORE_UPDATE_OBSERV_RESULT(observ); - end if; - end loop; - END; - - PROCEDURE SYNCHRONISATION - IS - BEGIN - STORE_OBSERV_RESULTS; - SYNC_TABLES; - END; - -END APP_IMPORT; -/ - CREATE OR REPLACE PACKAGE BODY /*"SYGAL".*/"APP_WORKFLOW" -AS - - /** - * @deprecated depuis l'utilisation de 'dense_rank' pour calculer les témoins 'attegnable' et 'courant' - * dans la vue V_WORKFLOW. - */ - function atteignable(p_etape_id NUMERIC, p_these_id NUMERIC) return NUMERIC AS - v_ordre numeric; - BEGIN - select ordre into v_ordre from wf_etape where id = p_etape_id; - --DBMS_OUTPUT.PUT_LINE('ordre ' || v_ordre); - for row in ( - select code, ORDRE, franchie, resultat, objectif - from V_WORKFLOW v - where v.these_id = p_these_id and v.ordre < v_ordre - order by v.ordre - ) loop - --DBMS_OUTPUT.PUT_LINE(rpad(row.ordre, 5) || ' ' || row.code || ' : ' || row.franchie); - if row.franchie = 0 then - return 0; - end if; - end loop; - - RETURN 1; - END atteignable; - -END APP_WORKFLOW; -/ - CREATE OR REPLACE PACKAGE BODY /*"SYGAL".*/"UNICAEN_IMPORT" AS - - v_current_user INTEGER; - v_current_annee INTEGER; - - - - FUNCTION get_current_user RETURN INTEGER IS - BEGIN - IF v_current_user IS NULL THEN - v_current_user := 1; -- A remplacer par l'utilisateur (ID de la table USER) qui sera le créateur ou le modificateur des données - END IF; - RETURN v_current_user; - END get_current_user; - - PROCEDURE set_current_user (p_current_user INTEGER) is - BEGIN - v_current_user := p_current_user; - END set_current_user; - - - - FUNCTION get_current_annee RETURN INTEGER IS - BEGIN - IF v_current_annee IS NULL THEN - v_current_annee := NULL; -- A remplacer par l'année d'import souhaitée (si vous avez de l'annualisation de prévue dans votre BDD) - END IF; - RETURN v_current_annee; - END get_current_annee; - - PROCEDURE set_current_annee (p_current_annee INTEGER) IS - BEGIN - v_current_annee := p_current_annee; - END set_current_annee; - - - - FUNCTION get_sql_criterion( table_name varchar2, sql_criterion VARCHAR2 ) RETURN CLOB IS - BEGIN - IF sql_criterion <> '' OR sql_criterion IS NOT NULL THEN - RETURN sql_criterion; - END IF; - RETURN ''; - /* Exemple d'usage : - - RETURN CASE table_name - WHEN 'INTERVENANT' THEN -- Met à jour toutes les données sauf le statut, qui sera traité à part - 'WHERE IMPORT_ACTION IN (''delete'',''update'',''undelete'')' - - WHEN 'AFFECTATION_RECHERCHE' THEN - 'WHERE INTERVENANT_ID IS NOT NULL' - - WHEN 'ADRESSE_INTERVENANT' THEN - 'WHERE INTERVENANT_ID IS NOT NULL' - - WHEN 'ELEMENT_TAUX_REGIMES' THEN - 'WHERE IMPORT_ACTION IN (''delete'',''insert'',''undelete'')' - - ELSE - '' - END;*/ - END; - - - - PROCEDURE SYNC_LOG( message CLOB, table_name VARCHAR2 DEFAULT NULL, source_code VARCHAR2 DEFAULT NULL ) IS - BEGIN - INSERT INTO SYNC_LOG("ID","DATE_SYNC","MESSAGE","TABLE_NAME","SOURCE_CODE") VALUES (SYNC_LOG_ID_SEQ.NEXTVAL, SYSDATE, message,table_name,source_code); - END SYNC_LOG; - - - - FUNCTION IN_COLUMN_LIST( VALEUR VARCHAR2, CHAMPS CLOB ) RETURN NUMERIC IS - BEGIN - IF REGEXP_LIKE(CHAMPS, '(^|,)[ \t\r\n\v\f]*' || VALEUR || '[ \t\r\n\v\f]*(,|$)') THEN RETURN 1; END IF; - RETURN 0; - END; - - - -- AUTOMATIC GENERATION -- - - PROCEDURE MAJ_STRUCTURE(SQL_CRITERION CLOB DEFAULT '', IGNORE_UPD_COLS CLOB DEFAULT '') IS - TYPE r_cursor IS REF CURSOR; - sql_query CLOB; - diff_cur r_cursor; - diff_row V_DIFF_STRUCTURE%ROWTYPE; - BEGIN - sql_query := 'SELECT V_DIFF_STRUCTURE.* FROM V_DIFF_STRUCTURE ' || get_sql_criterion('STRUCTURE',SQL_CRITERION); - OPEN diff_cur FOR sql_query; - LOOP - FETCH diff_cur INTO diff_row; EXIT WHEN diff_cur%NOTFOUND; - BEGIN - - CASE diff_row.import_action - WHEN 'insert' THEN - INSERT INTO STRUCTURE - ( id, CODE,LIBELLE,SIGLE,TYPE_STRUCTURE_ID, source_id, source_code, histo_createur_id, histo_modificateur_id ) - VALUES - ( COALESCE(diff_row.id,STRUCTURE_ID_SEQ.NEXTVAL), diff_row.CODE,diff_row.LIBELLE,diff_row.SIGLE,diff_row.TYPE_STRUCTURE_ID, diff_row.source_id, diff_row.source_code, get_current_user, get_current_user ); - - WHEN 'update' THEN - IF (diff_row.u_CODE = 1 AND IN_COLUMN_LIST('CODE',IGNORE_UPD_COLS) = 0) THEN UPDATE STRUCTURE SET CODE = diff_row.CODE WHERE ID = diff_row.id; END IF; - IF (diff_row.u_LIBELLE = 1 AND IN_COLUMN_LIST('LIBELLE',IGNORE_UPD_COLS) = 0) THEN UPDATE STRUCTURE SET LIBELLE = diff_row.LIBELLE WHERE ID = diff_row.id; END IF; - IF (diff_row.u_SIGLE = 1 AND IN_COLUMN_LIST('SIGLE',IGNORE_UPD_COLS) = 0) THEN UPDATE STRUCTURE SET SIGLE = diff_row.SIGLE WHERE ID = diff_row.id; END IF; - IF (diff_row.u_TYPE_STRUCTURE_ID = 1 AND IN_COLUMN_LIST('TYPE_STRUCTURE_ID',IGNORE_UPD_COLS) = 0) THEN UPDATE STRUCTURE SET TYPE_STRUCTURE_ID = diff_row.TYPE_STRUCTURE_ID WHERE ID = diff_row.id; END IF; - - WHEN 'delete' THEN - UPDATE STRUCTURE SET histo_destruction = SYSDATE, histo_destructeur_id = get_current_user WHERE ID = diff_row.id; - - WHEN 'undelete' THEN - IF (diff_row.u_CODE = 1 AND IN_COLUMN_LIST('CODE',IGNORE_UPD_COLS) = 0) THEN UPDATE STRUCTURE SET CODE = diff_row.CODE WHERE ID = diff_row.id; END IF; - IF (diff_row.u_LIBELLE = 1 AND IN_COLUMN_LIST('LIBELLE',IGNORE_UPD_COLS) = 0) THEN UPDATE STRUCTURE SET LIBELLE = diff_row.LIBELLE WHERE ID = diff_row.id; END IF; - IF (diff_row.u_SIGLE = 1 AND IN_COLUMN_LIST('SIGLE',IGNORE_UPD_COLS) = 0) THEN UPDATE STRUCTURE SET SIGLE = diff_row.SIGLE WHERE ID = diff_row.id; END IF; - IF (diff_row.u_TYPE_STRUCTURE_ID = 1 AND IN_COLUMN_LIST('TYPE_STRUCTURE_ID',IGNORE_UPD_COLS) = 0) THEN UPDATE STRUCTURE SET TYPE_STRUCTURE_ID = diff_row.TYPE_STRUCTURE_ID WHERE ID = diff_row.id; END IF; - UPDATE STRUCTURE SET histo_destruction = NULL, histo_destructeur_id = NULL WHERE ID = diff_row.id; - - END CASE; - - EXCEPTION WHEN OTHERS THEN - UNICAEN_IMPORT.SYNC_LOG( SQLERRM, 'STRUCTURE', diff_row.source_code ); - END; - END LOOP; - CLOSE diff_cur; - - END MAJ_STRUCTURE; - - - - PROCEDURE MAJ_ETABLISSEMENT(SQL_CRITERION CLOB DEFAULT '', IGNORE_UPD_COLS CLOB DEFAULT '') IS - TYPE r_cursor IS REF CURSOR; - sql_query CLOB; - diff_cur r_cursor; - diff_row V_DIFF_ETABLISSEMENT%ROWTYPE; - BEGIN - sql_query := 'SELECT V_DIFF_ETABLISSEMENT.* FROM V_DIFF_ETABLISSEMENT ' || get_sql_criterion('ETABLISSEMENT',SQL_CRITERION); - OPEN diff_cur FOR sql_query; - LOOP - FETCH diff_cur INTO diff_row; EXIT WHEN diff_cur%NOTFOUND; - BEGIN - - CASE diff_row.import_action - WHEN 'insert' THEN - INSERT INTO ETABLISSEMENT - ( id, STRUCTURE_ID, source_id, source_code, histo_createur_id, histo_modificateur_id ) - VALUES - ( COALESCE(diff_row.id,ETABLISSEMENT_ID_SEQ.NEXTVAL), diff_row.STRUCTURE_ID, diff_row.source_id, diff_row.source_code, get_current_user, get_current_user ); - - WHEN 'update' THEN - IF (diff_row.u_STRUCTURE_ID = 1 AND IN_COLUMN_LIST('STRUCTURE_ID',IGNORE_UPD_COLS) = 0) THEN UPDATE ETABLISSEMENT SET STRUCTURE_ID = diff_row.STRUCTURE_ID WHERE ID = diff_row.id; END IF; - - WHEN 'delete' THEN - UPDATE ETABLISSEMENT SET histo_destruction = SYSDATE, histo_destructeur_id = get_current_user WHERE ID = diff_row.id; - - WHEN 'undelete' THEN - IF (diff_row.u_STRUCTURE_ID = 1 AND IN_COLUMN_LIST('STRUCTURE_ID',IGNORE_UPD_COLS) = 0) THEN UPDATE ETABLISSEMENT SET STRUCTURE_ID = diff_row.STRUCTURE_ID WHERE ID = diff_row.id; END IF; - UPDATE ETABLISSEMENT SET histo_destruction = NULL, histo_destructeur_id = NULL WHERE ID = diff_row.id; - - END CASE; - - EXCEPTION WHEN OTHERS THEN - UNICAEN_IMPORT.SYNC_LOG( SQLERRM, 'ETABLISSEMENT', diff_row.source_code ); - END; - END LOOP; - CLOSE diff_cur; - - END MAJ_ETABLISSEMENT; - - - - PROCEDURE MAJ_ECOLE_DOCT(SQL_CRITERION CLOB DEFAULT '', IGNORE_UPD_COLS CLOB DEFAULT '') IS - TYPE r_cursor IS REF CURSOR; - sql_query CLOB; - diff_cur r_cursor; - diff_row V_DIFF_ECOLE_DOCT%ROWTYPE; - BEGIN - sql_query := 'SELECT V_DIFF_ECOLE_DOCT.* FROM V_DIFF_ECOLE_DOCT ' || get_sql_criterion('ECOLE_DOCT',SQL_CRITERION); - OPEN diff_cur FOR sql_query; - LOOP - FETCH diff_cur INTO diff_row; EXIT WHEN diff_cur%NOTFOUND; - BEGIN - - CASE diff_row.import_action - WHEN 'insert' THEN - INSERT INTO ECOLE_DOCT - ( id, STRUCTURE_ID, source_id, source_code, histo_createur_id, histo_modificateur_id ) - VALUES - ( COALESCE(diff_row.id,ECOLE_DOCT_ID_SEQ.NEXTVAL), diff_row.STRUCTURE_ID, diff_row.source_id, diff_row.source_code, get_current_user, get_current_user ); - - WHEN 'update' THEN - IF (diff_row.u_STRUCTURE_ID = 1 AND IN_COLUMN_LIST('STRUCTURE_ID',IGNORE_UPD_COLS) = 0) THEN UPDATE ECOLE_DOCT SET STRUCTURE_ID = diff_row.STRUCTURE_ID WHERE ID = diff_row.id; END IF; - - WHEN 'delete' THEN - UPDATE ECOLE_DOCT SET histo_destruction = SYSDATE, histo_destructeur_id = get_current_user WHERE ID = diff_row.id; - - WHEN 'undelete' THEN - IF (diff_row.u_STRUCTURE_ID = 1 AND IN_COLUMN_LIST('STRUCTURE_ID',IGNORE_UPD_COLS) = 0) THEN UPDATE ECOLE_DOCT SET STRUCTURE_ID = diff_row.STRUCTURE_ID WHERE ID = diff_row.id; END IF; - UPDATE ECOLE_DOCT SET histo_destruction = NULL, histo_destructeur_id = NULL WHERE ID = diff_row.id; - - END CASE; - - EXCEPTION WHEN OTHERS THEN - UNICAEN_IMPORT.SYNC_LOG( SQLERRM, 'ECOLE_DOCT', diff_row.source_code ); - END; - END LOOP; - CLOSE diff_cur; - - END MAJ_ECOLE_DOCT; - - - - PROCEDURE MAJ_UNITE_RECH(SQL_CRITERION CLOB DEFAULT '', IGNORE_UPD_COLS CLOB DEFAULT '') IS - TYPE r_cursor IS REF CURSOR; - sql_query CLOB; - diff_cur r_cursor; - diff_row V_DIFF_UNITE_RECH%ROWTYPE; - BEGIN - sql_query := 'SELECT V_DIFF_UNITE_RECH.* FROM V_DIFF_UNITE_RECH ' || get_sql_criterion('UNITE_RECH',SQL_CRITERION); - OPEN diff_cur FOR sql_query; - LOOP - FETCH diff_cur INTO diff_row; EXIT WHEN diff_cur%NOTFOUND; - BEGIN - - CASE diff_row.import_action - WHEN 'insert' THEN - INSERT INTO UNITE_RECH - ( id, STRUCTURE_ID, source_id, source_code, histo_createur_id, histo_modificateur_id ) - VALUES - ( COALESCE(diff_row.id,UNITE_RECH_ID_SEQ.NEXTVAL), diff_row.STRUCTURE_ID, diff_row.source_id, diff_row.source_code, get_current_user, get_current_user ); - - WHEN 'update' THEN - IF (diff_row.u_STRUCTURE_ID = 1 AND IN_COLUMN_LIST('STRUCTURE_ID',IGNORE_UPD_COLS) = 0) THEN UPDATE UNITE_RECH SET STRUCTURE_ID = diff_row.STRUCTURE_ID WHERE ID = diff_row.id; END IF; - - WHEN 'delete' THEN - UPDATE UNITE_RECH SET histo_destruction = SYSDATE, histo_destructeur_id = get_current_user WHERE ID = diff_row.id; - - WHEN 'undelete' THEN - IF (diff_row.u_STRUCTURE_ID = 1 AND IN_COLUMN_LIST('STRUCTURE_ID',IGNORE_UPD_COLS) = 0) THEN UPDATE UNITE_RECH SET STRUCTURE_ID = diff_row.STRUCTURE_ID WHERE ID = diff_row.id; END IF; - UPDATE UNITE_RECH SET histo_destruction = NULL, histo_destructeur_id = NULL WHERE ID = diff_row.id; - - END CASE; - - EXCEPTION WHEN OTHERS THEN - UNICAEN_IMPORT.SYNC_LOG( SQLERRM, 'UNITE_RECH', diff_row.source_code ); - END; - END LOOP; - CLOSE diff_cur; - - END MAJ_UNITE_RECH; - - - - PROCEDURE MAJ_INDIVIDU(SQL_CRITERION CLOB DEFAULT '', IGNORE_UPD_COLS CLOB DEFAULT '') IS - TYPE r_cursor IS REF CURSOR; - sql_query CLOB; - diff_cur r_cursor; - diff_row V_DIFF_INDIVIDU%ROWTYPE; - BEGIN - sql_query := 'SELECT V_DIFF_INDIVIDU.* FROM V_DIFF_INDIVIDU ' || get_sql_criterion('INDIVIDU',SQL_CRITERION); - OPEN diff_cur FOR sql_query; - LOOP - FETCH diff_cur INTO diff_row; EXIT WHEN diff_cur%NOTFOUND; - BEGIN - - CASE diff_row.import_action - WHEN 'insert' THEN - INSERT INTO INDIVIDU - ( id, CIVILITE,DATE_NAISSANCE,EMAIL,NATIONALITE,NOM_PATRONYMIQUE,NOM_USUEL,PRENOM1,PRENOM2,PRENOM3,SUPANN_ID,TYPE, source_id, source_code, histo_createur_id, histo_modificateur_id ) - VALUES - ( COALESCE(diff_row.id,INDIVIDU_ID_SEQ.NEXTVAL), diff_row.CIVILITE,diff_row.DATE_NAISSANCE,diff_row.EMAIL,diff_row.NATIONALITE,diff_row.NOM_PATRONYMIQUE,diff_row.NOM_USUEL,diff_row.PRENOM1,diff_row.PRENOM2,diff_row.PRENOM3,diff_row.SUPANN_ID,diff_row.TYPE, diff_row.source_id, diff_row.source_code, get_current_user, get_current_user ); - - WHEN 'update' THEN - IF (diff_row.u_CIVILITE = 1 AND IN_COLUMN_LIST('CIVILITE',IGNORE_UPD_COLS) = 0) THEN UPDATE INDIVIDU SET CIVILITE = diff_row.CIVILITE WHERE ID = diff_row.id; END IF; - IF (diff_row.u_DATE_NAISSANCE = 1 AND IN_COLUMN_LIST('DATE_NAISSANCE',IGNORE_UPD_COLS) = 0) THEN UPDATE INDIVIDU SET DATE_NAISSANCE = diff_row.DATE_NAISSANCE WHERE ID = diff_row.id; END IF; - IF (diff_row.u_EMAIL = 1 AND IN_COLUMN_LIST('EMAIL',IGNORE_UPD_COLS) = 0) THEN UPDATE INDIVIDU SET EMAIL = diff_row.EMAIL WHERE ID = diff_row.id; END IF; - IF (diff_row.u_NATIONALITE = 1 AND IN_COLUMN_LIST('NATIONALITE',IGNORE_UPD_COLS) = 0) THEN UPDATE INDIVIDU SET NATIONALITE = diff_row.NATIONALITE WHERE ID = diff_row.id; END IF; - IF (diff_row.u_NOM_PATRONYMIQUE = 1 AND IN_COLUMN_LIST('NOM_PATRONYMIQUE',IGNORE_UPD_COLS) = 0) THEN UPDATE INDIVIDU SET NOM_PATRONYMIQUE = diff_row.NOM_PATRONYMIQUE WHERE ID = diff_row.id; END IF; - IF (diff_row.u_NOM_USUEL = 1 AND IN_COLUMN_LIST('NOM_USUEL',IGNORE_UPD_COLS) = 0) THEN UPDATE INDIVIDU SET NOM_USUEL = diff_row.NOM_USUEL WHERE ID = diff_row.id; END IF; - IF (diff_row.u_PRENOM1 = 1 AND IN_COLUMN_LIST('PRENOM1',IGNORE_UPD_COLS) = 0) THEN UPDATE INDIVIDU SET PRENOM1 = diff_row.PRENOM1 WHERE ID = diff_row.id; END IF; - IF (diff_row.u_PRENOM2 = 1 AND IN_COLUMN_LIST('PRENOM2',IGNORE_UPD_COLS) = 0) THEN UPDATE INDIVIDU SET PRENOM2 = diff_row.PRENOM2 WHERE ID = diff_row.id; END IF; - IF (diff_row.u_PRENOM3 = 1 AND IN_COLUMN_LIST('PRENOM3',IGNORE_UPD_COLS) = 0) THEN UPDATE INDIVIDU SET PRENOM3 = diff_row.PRENOM3 WHERE ID = diff_row.id; END IF; - IF (diff_row.u_SUPANN_ID = 1 AND IN_COLUMN_LIST('SUPANN_ID',IGNORE_UPD_COLS) = 0) THEN UPDATE INDIVIDU SET SUPANN_ID = diff_row.SUPANN_ID WHERE ID = diff_row.id; END IF; - IF (diff_row.u_TYPE = 1 AND IN_COLUMN_LIST('TYPE',IGNORE_UPD_COLS) = 0) THEN UPDATE INDIVIDU SET TYPE = diff_row.TYPE WHERE ID = diff_row.id; END IF; - - WHEN 'delete' THEN - UPDATE INDIVIDU SET histo_destruction = SYSDATE, histo_destructeur_id = get_current_user WHERE ID = diff_row.id; - - WHEN 'undelete' THEN - IF (diff_row.u_CIVILITE = 1 AND IN_COLUMN_LIST('CIVILITE',IGNORE_UPD_COLS) = 0) THEN UPDATE INDIVIDU SET CIVILITE = diff_row.CIVILITE WHERE ID = diff_row.id; END IF; - IF (diff_row.u_DATE_NAISSANCE = 1 AND IN_COLUMN_LIST('DATE_NAISSANCE',IGNORE_UPD_COLS) = 0) THEN UPDATE INDIVIDU SET DATE_NAISSANCE = diff_row.DATE_NAISSANCE WHERE ID = diff_row.id; END IF; - IF (diff_row.u_EMAIL = 1 AND IN_COLUMN_LIST('EMAIL',IGNORE_UPD_COLS) = 0) THEN UPDATE INDIVIDU SET EMAIL = diff_row.EMAIL WHERE ID = diff_row.id; END IF; - IF (diff_row.u_NATIONALITE = 1 AND IN_COLUMN_LIST('NATIONALITE',IGNORE_UPD_COLS) = 0) THEN UPDATE INDIVIDU SET NATIONALITE = diff_row.NATIONALITE WHERE ID = diff_row.id; END IF; - IF (diff_row.u_NOM_PATRONYMIQUE = 1 AND IN_COLUMN_LIST('NOM_PATRONYMIQUE',IGNORE_UPD_COLS) = 0) THEN UPDATE INDIVIDU SET NOM_PATRONYMIQUE = diff_row.NOM_PATRONYMIQUE WHERE ID = diff_row.id; END IF; - IF (diff_row.u_NOM_USUEL = 1 AND IN_COLUMN_LIST('NOM_USUEL',IGNORE_UPD_COLS) = 0) THEN UPDATE INDIVIDU SET NOM_USUEL = diff_row.NOM_USUEL WHERE ID = diff_row.id; END IF; - IF (diff_row.u_PRENOM1 = 1 AND IN_COLUMN_LIST('PRENOM1',IGNORE_UPD_COLS) = 0) THEN UPDATE INDIVIDU SET PRENOM1 = diff_row.PRENOM1 WHERE ID = diff_row.id; END IF; - IF (diff_row.u_PRENOM2 = 1 AND IN_COLUMN_LIST('PRENOM2',IGNORE_UPD_COLS) = 0) THEN UPDATE INDIVIDU SET PRENOM2 = diff_row.PRENOM2 WHERE ID = diff_row.id; END IF; - IF (diff_row.u_PRENOM3 = 1 AND IN_COLUMN_LIST('PRENOM3',IGNORE_UPD_COLS) = 0) THEN UPDATE INDIVIDU SET PRENOM3 = diff_row.PRENOM3 WHERE ID = diff_row.id; END IF; - IF (diff_row.u_SUPANN_ID = 1 AND IN_COLUMN_LIST('SUPANN_ID',IGNORE_UPD_COLS) = 0) THEN UPDATE INDIVIDU SET SUPANN_ID = diff_row.SUPANN_ID WHERE ID = diff_row.id; END IF; - IF (diff_row.u_TYPE = 1 AND IN_COLUMN_LIST('TYPE',IGNORE_UPD_COLS) = 0) THEN UPDATE INDIVIDU SET TYPE = diff_row.TYPE WHERE ID = diff_row.id; END IF; - UPDATE INDIVIDU SET histo_destruction = NULL, histo_destructeur_id = NULL WHERE ID = diff_row.id; - - END CASE; - - EXCEPTION WHEN OTHERS THEN - UNICAEN_IMPORT.SYNC_LOG( SQLERRM, 'INDIVIDU', diff_row.source_code ); - END; - END LOOP; - CLOSE diff_cur; - - END MAJ_INDIVIDU; - - - - PROCEDURE MAJ_DOCTORANT(SQL_CRITERION CLOB DEFAULT '', IGNORE_UPD_COLS CLOB DEFAULT '') IS - TYPE r_cursor IS REF CURSOR; - sql_query CLOB; - diff_cur r_cursor; - diff_row V_DIFF_DOCTORANT%ROWTYPE; - BEGIN - sql_query := 'SELECT V_DIFF_DOCTORANT.* FROM V_DIFF_DOCTORANT ' || get_sql_criterion('DOCTORANT',SQL_CRITERION); - OPEN diff_cur FOR sql_query; - LOOP - FETCH diff_cur INTO diff_row; EXIT WHEN diff_cur%NOTFOUND; - BEGIN - - CASE diff_row.import_action - WHEN 'insert' THEN - INSERT INTO DOCTORANT - ( id, ETABLISSEMENT_ID,INDIVIDU_ID,INE, source_id, source_code, histo_createur_id, histo_modificateur_id ) - VALUES - ( COALESCE(diff_row.id,DOCTORANT_ID_SEQ.NEXTVAL), diff_row.ETABLISSEMENT_ID,diff_row.INDIVIDU_ID,diff_row.INE, diff_row.source_id, diff_row.source_code, get_current_user, get_current_user ); - - WHEN 'update' THEN - IF (diff_row.u_ETABLISSEMENT_ID = 1 AND IN_COLUMN_LIST('ETABLISSEMENT_ID',IGNORE_UPD_COLS) = 0) THEN UPDATE DOCTORANT SET ETABLISSEMENT_ID = diff_row.ETABLISSEMENT_ID WHERE ID = diff_row.id; END IF; - IF (diff_row.u_INDIVIDU_ID = 1 AND IN_COLUMN_LIST('INDIVIDU_ID',IGNORE_UPD_COLS) = 0) THEN UPDATE DOCTORANT SET INDIVIDU_ID = diff_row.INDIVIDU_ID WHERE ID = diff_row.id; END IF; - IF (diff_row.u_INE = 1 AND IN_COLUMN_LIST('INE',IGNORE_UPD_COLS) = 0) THEN UPDATE DOCTORANT SET INE = diff_row.INE WHERE ID = diff_row.id; END IF; - - WHEN 'delete' THEN - UPDATE DOCTORANT SET histo_destruction = SYSDATE, histo_destructeur_id = get_current_user WHERE ID = diff_row.id; - - WHEN 'undelete' THEN - IF (diff_row.u_ETABLISSEMENT_ID = 1 AND IN_COLUMN_LIST('ETABLISSEMENT_ID',IGNORE_UPD_COLS) = 0) THEN UPDATE DOCTORANT SET ETABLISSEMENT_ID = diff_row.ETABLISSEMENT_ID WHERE ID = diff_row.id; END IF; - IF (diff_row.u_INDIVIDU_ID = 1 AND IN_COLUMN_LIST('INDIVIDU_ID',IGNORE_UPD_COLS) = 0) THEN UPDATE DOCTORANT SET INDIVIDU_ID = diff_row.INDIVIDU_ID WHERE ID = diff_row.id; END IF; - IF (diff_row.u_INE = 1 AND IN_COLUMN_LIST('INE',IGNORE_UPD_COLS) = 0) THEN UPDATE DOCTORANT SET INE = diff_row.INE WHERE ID = diff_row.id; END IF; - UPDATE DOCTORANT SET histo_destruction = NULL, histo_destructeur_id = NULL WHERE ID = diff_row.id; - - END CASE; - - EXCEPTION WHEN OTHERS THEN - UNICAEN_IMPORT.SYNC_LOG( SQLERRM, 'DOCTORANT', diff_row.source_code ); - END; - END LOOP; - CLOSE diff_cur; - - END MAJ_DOCTORANT; - - - - PROCEDURE MAJ_THESE(SQL_CRITERION CLOB DEFAULT '', IGNORE_UPD_COLS CLOB DEFAULT '') IS - TYPE r_cursor IS REF CURSOR; - sql_query CLOB; - diff_cur r_cursor; - diff_row V_DIFF_THESE%ROWTYPE; - BEGIN - sql_query := 'SELECT V_DIFF_THESE.* FROM V_DIFF_THESE ' || get_sql_criterion('THESE',SQL_CRITERION); - OPEN diff_cur FOR sql_query; - LOOP - FETCH diff_cur INTO diff_row; EXIT WHEN diff_cur%NOTFOUND; - BEGIN - - CASE diff_row.import_action - WHEN 'insert' THEN - INSERT INTO THESE - ( id, ANNEE_UNIV_1ERE_INSC,CORREC_AUTORISEE,DATE_ABANDON,DATE_AUTORIS_SOUTENANCE,DATE_FIN_CONFID,DATE_PREM_INSC,DATE_PREV_SOUTENANCE,DATE_SOUTENANCE,DATE_TRANSFERT,DOCTORANT_ID,ECOLE_DOCT_ID,ETABLISSEMENT_ID,ETAT_THESE,LIB_DISC,LIB_ETAB_COTUT,LIB_PAYS_COTUT,RESULTAT,SOUTENANCE_AUTORIS,TEM_AVENANT_COTUT,TITRE,UNITE_RECH_ID, source_id, source_code, histo_createur_id, histo_modificateur_id ) - VALUES - ( COALESCE(diff_row.id,THESE_ID_SEQ.NEXTVAL), diff_row.ANNEE_UNIV_1ERE_INSC,diff_row.CORREC_AUTORISEE,diff_row.DATE_ABANDON,diff_row.DATE_AUTORIS_SOUTENANCE,diff_row.DATE_FIN_CONFID,diff_row.DATE_PREM_INSC,diff_row.DATE_PREV_SOUTENANCE,diff_row.DATE_SOUTENANCE,diff_row.DATE_TRANSFERT,diff_row.DOCTORANT_ID,diff_row.ECOLE_DOCT_ID,diff_row.ETABLISSEMENT_ID,diff_row.ETAT_THESE,diff_row.LIB_DISC,diff_row.LIB_ETAB_COTUT,diff_row.LIB_PAYS_COTUT,diff_row.RESULTAT,diff_row.SOUTENANCE_AUTORIS,diff_row.TEM_AVENANT_COTUT,diff_row.TITRE,diff_row.UNITE_RECH_ID, diff_row.source_id, diff_row.source_code, get_current_user, get_current_user ); - - WHEN 'update' THEN - IF (diff_row.u_ANNEE_UNIV_1ERE_INSC = 1 AND IN_COLUMN_LIST('ANNEE_UNIV_1ERE_INSC',IGNORE_UPD_COLS) = 0) THEN UPDATE THESE SET ANNEE_UNIV_1ERE_INSC = diff_row.ANNEE_UNIV_1ERE_INSC WHERE ID = diff_row.id; END IF; - IF (diff_row.u_CORREC_AUTORISEE = 1 AND IN_COLUMN_LIST('CORREC_AUTORISEE',IGNORE_UPD_COLS) = 0) THEN UPDATE THESE SET CORREC_AUTORISEE = diff_row.CORREC_AUTORISEE WHERE ID = diff_row.id; END IF; - IF (diff_row.u_DATE_ABANDON = 1 AND IN_COLUMN_LIST('DATE_ABANDON',IGNORE_UPD_COLS) = 0) THEN UPDATE THESE SET DATE_ABANDON = diff_row.DATE_ABANDON WHERE ID = diff_row.id; END IF; - IF (diff_row.u_DATE_AUTORIS_SOUTENANCE = 1 AND IN_COLUMN_LIST('DATE_AUTORIS_SOUTENANCE',IGNORE_UPD_COLS) = 0) THEN UPDATE THESE SET DATE_AUTORIS_SOUTENANCE = diff_row.DATE_AUTORIS_SOUTENANCE WHERE ID = diff_row.id; END IF; - IF (diff_row.u_DATE_FIN_CONFID = 1 AND IN_COLUMN_LIST('DATE_FIN_CONFID',IGNORE_UPD_COLS) = 0) THEN UPDATE THESE SET DATE_FIN_CONFID = diff_row.DATE_FIN_CONFID WHERE ID = diff_row.id; END IF; - IF (diff_row.u_DATE_PREM_INSC = 1 AND IN_COLUMN_LIST('DATE_PREM_INSC',IGNORE_UPD_COLS) = 0) THEN UPDATE THESE SET DATE_PREM_INSC = diff_row.DATE_PREM_INSC WHERE ID = diff_row.id; END IF; - IF (diff_row.u_DATE_PREV_SOUTENANCE = 1 AND IN_COLUMN_LIST('DATE_PREV_SOUTENANCE',IGNORE_UPD_COLS) = 0) THEN UPDATE THESE SET DATE_PREV_SOUTENANCE = diff_row.DATE_PREV_SOUTENANCE WHERE ID = diff_row.id; END IF; - IF (diff_row.u_DATE_SOUTENANCE = 1 AND IN_COLUMN_LIST('DATE_SOUTENANCE',IGNORE_UPD_COLS) = 0) THEN UPDATE THESE SET DATE_SOUTENANCE = diff_row.DATE_SOUTENANCE WHERE ID = diff_row.id; END IF; - IF (diff_row.u_DATE_TRANSFERT = 1 AND IN_COLUMN_LIST('DATE_TRANSFERT',IGNORE_UPD_COLS) = 0) THEN UPDATE THESE SET DATE_TRANSFERT = diff_row.DATE_TRANSFERT WHERE ID = diff_row.id; END IF; - IF (diff_row.u_DOCTORANT_ID = 1 AND IN_COLUMN_LIST('DOCTORANT_ID',IGNORE_UPD_COLS) = 0) THEN UPDATE THESE SET DOCTORANT_ID = diff_row.DOCTORANT_ID WHERE ID = diff_row.id; END IF; - IF (diff_row.u_ECOLE_DOCT_ID = 1 AND IN_COLUMN_LIST('ECOLE_DOCT_ID',IGNORE_UPD_COLS) = 0) THEN UPDATE THESE SET ECOLE_DOCT_ID = diff_row.ECOLE_DOCT_ID WHERE ID = diff_row.id; END IF; - IF (diff_row.u_ETABLISSEMENT_ID = 1 AND IN_COLUMN_LIST('ETABLISSEMENT_ID',IGNORE_UPD_COLS) = 0) THEN UPDATE THESE SET ETABLISSEMENT_ID = diff_row.ETABLISSEMENT_ID WHERE ID = diff_row.id; END IF; - IF (diff_row.u_ETAT_THESE = 1 AND IN_COLUMN_LIST('ETAT_THESE',IGNORE_UPD_COLS) = 0) THEN UPDATE THESE SET ETAT_THESE = diff_row.ETAT_THESE WHERE ID = diff_row.id; END IF; - IF (diff_row.u_LIB_DISC = 1 AND IN_COLUMN_LIST('LIB_DISC',IGNORE_UPD_COLS) = 0) THEN UPDATE THESE SET LIB_DISC = diff_row.LIB_DISC WHERE ID = diff_row.id; END IF; - IF (diff_row.u_LIB_ETAB_COTUT = 1 AND IN_COLUMN_LIST('LIB_ETAB_COTUT',IGNORE_UPD_COLS) = 0) THEN UPDATE THESE SET LIB_ETAB_COTUT = diff_row.LIB_ETAB_COTUT WHERE ID = diff_row.id; END IF; - IF (diff_row.u_LIB_PAYS_COTUT = 1 AND IN_COLUMN_LIST('LIB_PAYS_COTUT',IGNORE_UPD_COLS) = 0) THEN UPDATE THESE SET LIB_PAYS_COTUT = diff_row.LIB_PAYS_COTUT WHERE ID = diff_row.id; END IF; - IF (diff_row.u_RESULTAT = 1 AND IN_COLUMN_LIST('RESULTAT',IGNORE_UPD_COLS) = 0) THEN UPDATE THESE SET RESULTAT = diff_row.RESULTAT WHERE ID = diff_row.id; END IF; - IF (diff_row.u_SOUTENANCE_AUTORIS = 1 AND IN_COLUMN_LIST('SOUTENANCE_AUTORIS',IGNORE_UPD_COLS) = 0) THEN UPDATE THESE SET SOUTENANCE_AUTORIS = diff_row.SOUTENANCE_AUTORIS WHERE ID = diff_row.id; END IF; - IF (diff_row.u_TEM_AVENANT_COTUT = 1 AND IN_COLUMN_LIST('TEM_AVENANT_COTUT',IGNORE_UPD_COLS) = 0) THEN UPDATE THESE SET TEM_AVENANT_COTUT = diff_row.TEM_AVENANT_COTUT WHERE ID = diff_row.id; END IF; - IF (diff_row.u_TITRE = 1 AND IN_COLUMN_LIST('TITRE',IGNORE_UPD_COLS) = 0) THEN UPDATE THESE SET TITRE = diff_row.TITRE WHERE ID = diff_row.id; END IF; - IF (diff_row.u_UNITE_RECH_ID = 1 AND IN_COLUMN_LIST('UNITE_RECH_ID',IGNORE_UPD_COLS) = 0) THEN UPDATE THESE SET UNITE_RECH_ID = diff_row.UNITE_RECH_ID WHERE ID = diff_row.id; END IF; - - WHEN 'delete' THEN - UPDATE THESE SET histo_destruction = SYSDATE, histo_destructeur_id = get_current_user WHERE ID = diff_row.id; - - WHEN 'undelete' THEN - IF (diff_row.u_ANNEE_UNIV_1ERE_INSC = 1 AND IN_COLUMN_LIST('ANNEE_UNIV_1ERE_INSC',IGNORE_UPD_COLS) = 0) THEN UPDATE THESE SET ANNEE_UNIV_1ERE_INSC = diff_row.ANNEE_UNIV_1ERE_INSC WHERE ID = diff_row.id; END IF; - IF (diff_row.u_CORREC_AUTORISEE = 1 AND IN_COLUMN_LIST('CORREC_AUTORISEE',IGNORE_UPD_COLS) = 0) THEN UPDATE THESE SET CORREC_AUTORISEE = diff_row.CORREC_AUTORISEE WHERE ID = diff_row.id; END IF; - IF (diff_row.u_DATE_ABANDON = 1 AND IN_COLUMN_LIST('DATE_ABANDON',IGNORE_UPD_COLS) = 0) THEN UPDATE THESE SET DATE_ABANDON = diff_row.DATE_ABANDON WHERE ID = diff_row.id; END IF; - IF (diff_row.u_DATE_AUTORIS_SOUTENANCE = 1 AND IN_COLUMN_LIST('DATE_AUTORIS_SOUTENANCE',IGNORE_UPD_COLS) = 0) THEN UPDATE THESE SET DATE_AUTORIS_SOUTENANCE = diff_row.DATE_AUTORIS_SOUTENANCE WHERE ID = diff_row.id; END IF; - IF (diff_row.u_DATE_FIN_CONFID = 1 AND IN_COLUMN_LIST('DATE_FIN_CONFID',IGNORE_UPD_COLS) = 0) THEN UPDATE THESE SET DATE_FIN_CONFID = diff_row.DATE_FIN_CONFID WHERE ID = diff_row.id; END IF; - IF (diff_row.u_DATE_PREM_INSC = 1 AND IN_COLUMN_LIST('DATE_PREM_INSC',IGNORE_UPD_COLS) = 0) THEN UPDATE THESE SET DATE_PREM_INSC = diff_row.DATE_PREM_INSC WHERE ID = diff_row.id; END IF; - IF (diff_row.u_DATE_PREV_SOUTENANCE = 1 AND IN_COLUMN_LIST('DATE_PREV_SOUTENANCE',IGNORE_UPD_COLS) = 0) THEN UPDATE THESE SET DATE_PREV_SOUTENANCE = diff_row.DATE_PREV_SOUTENANCE WHERE ID = diff_row.id; END IF; - IF (diff_row.u_DATE_SOUTENANCE = 1 AND IN_COLUMN_LIST('DATE_SOUTENANCE',IGNORE_UPD_COLS) = 0) THEN UPDATE THESE SET DATE_SOUTENANCE = diff_row.DATE_SOUTENANCE WHERE ID = diff_row.id; END IF; - IF (diff_row.u_DATE_TRANSFERT = 1 AND IN_COLUMN_LIST('DATE_TRANSFERT',IGNORE_UPD_COLS) = 0) THEN UPDATE THESE SET DATE_TRANSFERT = diff_row.DATE_TRANSFERT WHERE ID = diff_row.id; END IF; - IF (diff_row.u_DOCTORANT_ID = 1 AND IN_COLUMN_LIST('DOCTORANT_ID',IGNORE_UPD_COLS) = 0) THEN UPDATE THESE SET DOCTORANT_ID = diff_row.DOCTORANT_ID WHERE ID = diff_row.id; END IF; - IF (diff_row.u_ECOLE_DOCT_ID = 1 AND IN_COLUMN_LIST('ECOLE_DOCT_ID',IGNORE_UPD_COLS) = 0) THEN UPDATE THESE SET ECOLE_DOCT_ID = diff_row.ECOLE_DOCT_ID WHERE ID = diff_row.id; END IF; - IF (diff_row.u_ETABLISSEMENT_ID = 1 AND IN_COLUMN_LIST('ETABLISSEMENT_ID',IGNORE_UPD_COLS) = 0) THEN UPDATE THESE SET ETABLISSEMENT_ID = diff_row.ETABLISSEMENT_ID WHERE ID = diff_row.id; END IF; - IF (diff_row.u_ETAT_THESE = 1 AND IN_COLUMN_LIST('ETAT_THESE',IGNORE_UPD_COLS) = 0) THEN UPDATE THESE SET ETAT_THESE = diff_row.ETAT_THESE WHERE ID = diff_row.id; END IF; - IF (diff_row.u_LIB_DISC = 1 AND IN_COLUMN_LIST('LIB_DISC',IGNORE_UPD_COLS) = 0) THEN UPDATE THESE SET LIB_DISC = diff_row.LIB_DISC WHERE ID = diff_row.id; END IF; - IF (diff_row.u_LIB_ETAB_COTUT = 1 AND IN_COLUMN_LIST('LIB_ETAB_COTUT',IGNORE_UPD_COLS) = 0) THEN UPDATE THESE SET LIB_ETAB_COTUT = diff_row.LIB_ETAB_COTUT WHERE ID = diff_row.id; END IF; - IF (diff_row.u_LIB_PAYS_COTUT = 1 AND IN_COLUMN_LIST('LIB_PAYS_COTUT',IGNORE_UPD_COLS) = 0) THEN UPDATE THESE SET LIB_PAYS_COTUT = diff_row.LIB_PAYS_COTUT WHERE ID = diff_row.id; END IF; - IF (diff_row.u_RESULTAT = 1 AND IN_COLUMN_LIST('RESULTAT',IGNORE_UPD_COLS) = 0) THEN UPDATE THESE SET RESULTAT = diff_row.RESULTAT WHERE ID = diff_row.id; END IF; - IF (diff_row.u_SOUTENANCE_AUTORIS = 1 AND IN_COLUMN_LIST('SOUTENANCE_AUTORIS',IGNORE_UPD_COLS) = 0) THEN UPDATE THESE SET SOUTENANCE_AUTORIS = diff_row.SOUTENANCE_AUTORIS WHERE ID = diff_row.id; END IF; - IF (diff_row.u_TEM_AVENANT_COTUT = 1 AND IN_COLUMN_LIST('TEM_AVENANT_COTUT',IGNORE_UPD_COLS) = 0) THEN UPDATE THESE SET TEM_AVENANT_COTUT = diff_row.TEM_AVENANT_COTUT WHERE ID = diff_row.id; END IF; - IF (diff_row.u_TITRE = 1 AND IN_COLUMN_LIST('TITRE',IGNORE_UPD_COLS) = 0) THEN UPDATE THESE SET TITRE = diff_row.TITRE WHERE ID = diff_row.id; END IF; - IF (diff_row.u_UNITE_RECH_ID = 1 AND IN_COLUMN_LIST('UNITE_RECH_ID',IGNORE_UPD_COLS) = 0) THEN UPDATE THESE SET UNITE_RECH_ID = diff_row.UNITE_RECH_ID WHERE ID = diff_row.id; END IF; - UPDATE THESE SET histo_destruction = NULL, histo_destructeur_id = NULL WHERE ID = diff_row.id; - - END CASE; - - EXCEPTION WHEN OTHERS THEN - UNICAEN_IMPORT.SYNC_LOG( SQLERRM, 'THESE', diff_row.source_code ); - END; - END LOOP; - CLOSE diff_cur; - - END MAJ_THESE; - - - - PROCEDURE MAJ_ROLE(SQL_CRITERION CLOB DEFAULT '', IGNORE_UPD_COLS CLOB DEFAULT '') IS - TYPE r_cursor IS REF CURSOR; - sql_query CLOB; - diff_cur r_cursor; - diff_row V_DIFF_ROLE%ROWTYPE; - BEGIN - sql_query := 'SELECT V_DIFF_ROLE.* FROM V_DIFF_ROLE ' || get_sql_criterion('ROLE',SQL_CRITERION); - OPEN diff_cur FOR sql_query; - LOOP - FETCH diff_cur INTO diff_row; EXIT WHEN diff_cur%NOTFOUND; - BEGIN - - CASE diff_row.import_action - WHEN 'insert' THEN - INSERT INTO ROLE - ( id, CODE,LIBELLE,ROLE_ID,STRUCTURE_ID,THESE_DEP,TYPE_STRUCTURE_DEPENDANT_ID, source_id, source_code, histo_createur_id, histo_modificateur_id ) - VALUES - ( COALESCE(diff_row.id,ROLE_ID_SEQ.NEXTVAL), diff_row.CODE,diff_row.LIBELLE,diff_row.ROLE_ID,diff_row.STRUCTURE_ID,diff_row.THESE_DEP,diff_row.TYPE_STRUCTURE_DEPENDANT_ID, diff_row.source_id, diff_row.source_code, get_current_user, get_current_user ); - - WHEN 'update' THEN - IF (diff_row.u_CODE = 1 AND IN_COLUMN_LIST('CODE',IGNORE_UPD_COLS) = 0) THEN UPDATE ROLE SET CODE = diff_row.CODE WHERE ID = diff_row.id; END IF; - IF (diff_row.u_LIBELLE = 1 AND IN_COLUMN_LIST('LIBELLE',IGNORE_UPD_COLS) = 0) THEN UPDATE ROLE SET LIBELLE = diff_row.LIBELLE WHERE ID = diff_row.id; END IF; - IF (diff_row.u_ROLE_ID = 1 AND IN_COLUMN_LIST('ROLE_ID',IGNORE_UPD_COLS) = 0) THEN UPDATE ROLE SET ROLE_ID = diff_row.ROLE_ID WHERE ID = diff_row.id; END IF; - IF (diff_row.u_STRUCTURE_ID = 1 AND IN_COLUMN_LIST('STRUCTURE_ID',IGNORE_UPD_COLS) = 0) THEN UPDATE ROLE SET STRUCTURE_ID = diff_row.STRUCTURE_ID WHERE ID = diff_row.id; END IF; - IF (diff_row.u_THESE_DEP = 1 AND IN_COLUMN_LIST('THESE_DEP',IGNORE_UPD_COLS) = 0) THEN UPDATE ROLE SET THESE_DEP = diff_row.THESE_DEP WHERE ID = diff_row.id; END IF; - IF (diff_row.u_TYPE_STRUCTURE_DEPENDANT_ID = 1 AND IN_COLUMN_LIST('TYPE_STRUCTURE_DEPENDANT_ID',IGNORE_UPD_COLS) = 0) THEN UPDATE ROLE SET TYPE_STRUCTURE_DEPENDANT_ID = diff_row.TYPE_STRUCTURE_DEPENDANT_ID WHERE ID = diff_row.id; END IF; - - WHEN 'delete' THEN - UPDATE ROLE SET histo_destruction = SYSDATE, histo_destructeur_id = get_current_user WHERE ID = diff_row.id; - - WHEN 'undelete' THEN - IF (diff_row.u_CODE = 1 AND IN_COLUMN_LIST('CODE',IGNORE_UPD_COLS) = 0) THEN UPDATE ROLE SET CODE = diff_row.CODE WHERE ID = diff_row.id; END IF; - IF (diff_row.u_LIBELLE = 1 AND IN_COLUMN_LIST('LIBELLE',IGNORE_UPD_COLS) = 0) THEN UPDATE ROLE SET LIBELLE = diff_row.LIBELLE WHERE ID = diff_row.id; END IF; - IF (diff_row.u_ROLE_ID = 1 AND IN_COLUMN_LIST('ROLE_ID',IGNORE_UPD_COLS) = 0) THEN UPDATE ROLE SET ROLE_ID = diff_row.ROLE_ID WHERE ID = diff_row.id; END IF; - IF (diff_row.u_STRUCTURE_ID = 1 AND IN_COLUMN_LIST('STRUCTURE_ID',IGNORE_UPD_COLS) = 0) THEN UPDATE ROLE SET STRUCTURE_ID = diff_row.STRUCTURE_ID WHERE ID = diff_row.id; END IF; - IF (diff_row.u_THESE_DEP = 1 AND IN_COLUMN_LIST('THESE_DEP',IGNORE_UPD_COLS) = 0) THEN UPDATE ROLE SET THESE_DEP = diff_row.THESE_DEP WHERE ID = diff_row.id; END IF; - IF (diff_row.u_TYPE_STRUCTURE_DEPENDANT_ID = 1 AND IN_COLUMN_LIST('TYPE_STRUCTURE_DEPENDANT_ID',IGNORE_UPD_COLS) = 0) THEN UPDATE ROLE SET TYPE_STRUCTURE_DEPENDANT_ID = diff_row.TYPE_STRUCTURE_DEPENDANT_ID WHERE ID = diff_row.id; END IF; - UPDATE ROLE SET histo_destruction = NULL, histo_destructeur_id = NULL WHERE ID = diff_row.id; - - END CASE; - - EXCEPTION WHEN OTHERS THEN - UNICAEN_IMPORT.SYNC_LOG( SQLERRM, 'ROLE', diff_row.source_code ); - END; - END LOOP; - CLOSE diff_cur; - - END MAJ_ROLE; - - - - PROCEDURE MAJ_ACTEUR(SQL_CRITERION CLOB DEFAULT '', IGNORE_UPD_COLS CLOB DEFAULT '') IS - TYPE r_cursor IS REF CURSOR; - sql_query CLOB; - diff_cur r_cursor; - diff_row V_DIFF_ACTEUR%ROWTYPE; - BEGIN - sql_query := 'SELECT V_DIFF_ACTEUR.* FROM V_DIFF_ACTEUR ' || get_sql_criterion('ACTEUR',SQL_CRITERION); - OPEN diff_cur FOR sql_query; - LOOP - FETCH diff_cur INTO diff_row; EXIT WHEN diff_cur%NOTFOUND; - BEGIN - - CASE diff_row.import_action - WHEN 'insert' THEN - INSERT INTO ACTEUR - ( id, ACTEUR_ETABLISSEMENT_ID,INDIVIDU_ID,LIB_ROLE_COMPL,QUALITE,ROLE_ID,THESE_ID, source_id, source_code, histo_createur_id, histo_modificateur_id ) - VALUES - ( COALESCE(diff_row.id,ACTEUR_ID_SEQ.NEXTVAL), diff_row.ACTEUR_ETABLISSEMENT_ID,diff_row.INDIVIDU_ID,diff_row.LIB_ROLE_COMPL,diff_row.QUALITE,diff_row.ROLE_ID,diff_row.THESE_ID, diff_row.source_id, diff_row.source_code, get_current_user, get_current_user ); - - WHEN 'update' THEN - IF (diff_row.u_ACTEUR_ETABLISSEMENT_ID = 1 AND IN_COLUMN_LIST('ACTEUR_ETABLISSEMENT_ID',IGNORE_UPD_COLS) = 0) THEN UPDATE ACTEUR SET ACTEUR_ETABLISSEMENT_ID = diff_row.ACTEUR_ETABLISSEMENT_ID WHERE ID = diff_row.id; END IF; - IF (diff_row.u_INDIVIDU_ID = 1 AND IN_COLUMN_LIST('INDIVIDU_ID',IGNORE_UPD_COLS) = 0) THEN UPDATE ACTEUR SET INDIVIDU_ID = diff_row.INDIVIDU_ID WHERE ID = diff_row.id; END IF; - IF (diff_row.u_LIB_ROLE_COMPL = 1 AND IN_COLUMN_LIST('LIB_ROLE_COMPL',IGNORE_UPD_COLS) = 0) THEN UPDATE ACTEUR SET LIB_ROLE_COMPL = diff_row.LIB_ROLE_COMPL WHERE ID = diff_row.id; END IF; - IF (diff_row.u_QUALITE = 1 AND IN_COLUMN_LIST('QUALITE',IGNORE_UPD_COLS) = 0) THEN UPDATE ACTEUR SET QUALITE = diff_row.QUALITE WHERE ID = diff_row.id; END IF; - IF (diff_row.u_ROLE_ID = 1 AND IN_COLUMN_LIST('ROLE_ID',IGNORE_UPD_COLS) = 0) THEN UPDATE ACTEUR SET ROLE_ID = diff_row.ROLE_ID WHERE ID = diff_row.id; END IF; - IF (diff_row.u_THESE_ID = 1 AND IN_COLUMN_LIST('THESE_ID',IGNORE_UPD_COLS) = 0) THEN UPDATE ACTEUR SET THESE_ID = diff_row.THESE_ID WHERE ID = diff_row.id; END IF; - - WHEN 'delete' THEN - UPDATE ACTEUR SET histo_destruction = SYSDATE, histo_destructeur_id = get_current_user WHERE ID = diff_row.id; - - WHEN 'undelete' THEN - IF (diff_row.u_ACTEUR_ETABLISSEMENT_ID = 1 AND IN_COLUMN_LIST('ACTEUR_ETABLISSEMENT_ID',IGNORE_UPD_COLS) = 0) THEN UPDATE ACTEUR SET ACTEUR_ETABLISSEMENT_ID = diff_row.ACTEUR_ETABLISSEMENT_ID WHERE ID = diff_row.id; END IF; - IF (diff_row.u_INDIVIDU_ID = 1 AND IN_COLUMN_LIST('INDIVIDU_ID',IGNORE_UPD_COLS) = 0) THEN UPDATE ACTEUR SET INDIVIDU_ID = diff_row.INDIVIDU_ID WHERE ID = diff_row.id; END IF; - IF (diff_row.u_LIB_ROLE_COMPL = 1 AND IN_COLUMN_LIST('LIB_ROLE_COMPL',IGNORE_UPD_COLS) = 0) THEN UPDATE ACTEUR SET LIB_ROLE_COMPL = diff_row.LIB_ROLE_COMPL WHERE ID = diff_row.id; END IF; - IF (diff_row.u_QUALITE = 1 AND IN_COLUMN_LIST('QUALITE',IGNORE_UPD_COLS) = 0) THEN UPDATE ACTEUR SET QUALITE = diff_row.QUALITE WHERE ID = diff_row.id; END IF; - IF (diff_row.u_ROLE_ID = 1 AND IN_COLUMN_LIST('ROLE_ID',IGNORE_UPD_COLS) = 0) THEN UPDATE ACTEUR SET ROLE_ID = diff_row.ROLE_ID WHERE ID = diff_row.id; END IF; - IF (diff_row.u_THESE_ID = 1 AND IN_COLUMN_LIST('THESE_ID',IGNORE_UPD_COLS) = 0) THEN UPDATE ACTEUR SET THESE_ID = diff_row.THESE_ID WHERE ID = diff_row.id; END IF; - UPDATE ACTEUR SET histo_destruction = NULL, histo_destructeur_id = NULL WHERE ID = diff_row.id; - - END CASE; - - EXCEPTION WHEN OTHERS THEN - UNICAEN_IMPORT.SYNC_LOG( SQLERRM, 'ACTEUR', diff_row.source_code ); - END; - END LOOP; - CLOSE diff_cur; - - END MAJ_ACTEUR; - - - - PROCEDURE MAJ_VARIABLE(SQL_CRITERION CLOB DEFAULT '', IGNORE_UPD_COLS CLOB DEFAULT '') IS - TYPE r_cursor IS REF CURSOR; - sql_query CLOB; - diff_cur r_cursor; - diff_row V_DIFF_VARIABLE%ROWTYPE; - BEGIN - sql_query := 'SELECT V_DIFF_VARIABLE.* FROM V_DIFF_VARIABLE ' || get_sql_criterion('VARIABLE',SQL_CRITERION); - OPEN diff_cur FOR sql_query; - LOOP - FETCH diff_cur INTO diff_row; EXIT WHEN diff_cur%NOTFOUND; - BEGIN - - CASE diff_row.import_action - WHEN 'insert' THEN - INSERT INTO VARIABLE - ( id, CODE,DATE_DEB_VALIDITE,DATE_FIN_VALIDITE,DESCRIPTION,ETABLISSEMENT_ID,VALEUR, source_id, source_code, histo_createur_id, histo_modificateur_id ) - VALUES - ( COALESCE(diff_row.id,VARIABLE_ID_SEQ.NEXTVAL), diff_row.CODE,diff_row.DATE_DEB_VALIDITE,diff_row.DATE_FIN_VALIDITE,diff_row.DESCRIPTION,diff_row.ETABLISSEMENT_ID,diff_row.VALEUR, diff_row.source_id, diff_row.source_code, get_current_user, get_current_user ); - - WHEN 'update' THEN - IF (diff_row.u_CODE = 1 AND IN_COLUMN_LIST('CODE',IGNORE_UPD_COLS) = 0) THEN UPDATE VARIABLE SET CODE = diff_row.CODE WHERE ID = diff_row.id; END IF; - IF (diff_row.u_DATE_DEB_VALIDITE = 1 AND IN_COLUMN_LIST('DATE_DEB_VALIDITE',IGNORE_UPD_COLS) = 0) THEN UPDATE VARIABLE SET DATE_DEB_VALIDITE = diff_row.DATE_DEB_VALIDITE WHERE ID = diff_row.id; END IF; - IF (diff_row.u_DATE_FIN_VALIDITE = 1 AND IN_COLUMN_LIST('DATE_FIN_VALIDITE',IGNORE_UPD_COLS) = 0) THEN UPDATE VARIABLE SET DATE_FIN_VALIDITE = diff_row.DATE_FIN_VALIDITE WHERE ID = diff_row.id; END IF; - IF (diff_row.u_DESCRIPTION = 1 AND IN_COLUMN_LIST('DESCRIPTION',IGNORE_UPD_COLS) = 0) THEN UPDATE VARIABLE SET DESCRIPTION = diff_row.DESCRIPTION WHERE ID = diff_row.id; END IF; - IF (diff_row.u_ETABLISSEMENT_ID = 1 AND IN_COLUMN_LIST('ETABLISSEMENT_ID',IGNORE_UPD_COLS) = 0) THEN UPDATE VARIABLE SET ETABLISSEMENT_ID = diff_row.ETABLISSEMENT_ID WHERE ID = diff_row.id; END IF; - IF (diff_row.u_VALEUR = 1 AND IN_COLUMN_LIST('VALEUR',IGNORE_UPD_COLS) = 0) THEN UPDATE VARIABLE SET VALEUR = diff_row.VALEUR WHERE ID = diff_row.id; END IF; - - WHEN 'delete' THEN - UPDATE VARIABLE SET histo_destruction = SYSDATE, histo_destructeur_id = get_current_user WHERE ID = diff_row.id; - - WHEN 'undelete' THEN - IF (diff_row.u_CODE = 1 AND IN_COLUMN_LIST('CODE',IGNORE_UPD_COLS) = 0) THEN UPDATE VARIABLE SET CODE = diff_row.CODE WHERE ID = diff_row.id; END IF; - IF (diff_row.u_DATE_DEB_VALIDITE = 1 AND IN_COLUMN_LIST('DATE_DEB_VALIDITE',IGNORE_UPD_COLS) = 0) THEN UPDATE VARIABLE SET DATE_DEB_VALIDITE = diff_row.DATE_DEB_VALIDITE WHERE ID = diff_row.id; END IF; - IF (diff_row.u_DATE_FIN_VALIDITE = 1 AND IN_COLUMN_LIST('DATE_FIN_VALIDITE',IGNORE_UPD_COLS) = 0) THEN UPDATE VARIABLE SET DATE_FIN_VALIDITE = diff_row.DATE_FIN_VALIDITE WHERE ID = diff_row.id; END IF; - IF (diff_row.u_DESCRIPTION = 1 AND IN_COLUMN_LIST('DESCRIPTION',IGNORE_UPD_COLS) = 0) THEN UPDATE VARIABLE SET DESCRIPTION = diff_row.DESCRIPTION WHERE ID = diff_row.id; END IF; - IF (diff_row.u_ETABLISSEMENT_ID = 1 AND IN_COLUMN_LIST('ETABLISSEMENT_ID',IGNORE_UPD_COLS) = 0) THEN UPDATE VARIABLE SET ETABLISSEMENT_ID = diff_row.ETABLISSEMENT_ID WHERE ID = diff_row.id; END IF; - IF (diff_row.u_VALEUR = 1 AND IN_COLUMN_LIST('VALEUR',IGNORE_UPD_COLS) = 0) THEN UPDATE VARIABLE SET VALEUR = diff_row.VALEUR WHERE ID = diff_row.id; END IF; - UPDATE VARIABLE SET histo_destruction = NULL, histo_destructeur_id = NULL WHERE ID = diff_row.id; - - END CASE; - - EXCEPTION WHEN OTHERS THEN - UNICAEN_IMPORT.SYNC_LOG( SQLERRM, 'VARIABLE', diff_row.source_code ); - END; - END LOOP; - CLOSE diff_cur; - - END MAJ_VARIABLE; - - - - PROCEDURE MAJ_TITRE_ACCES(SQL_CRITERION CLOB DEFAULT '', IGNORE_UPD_COLS CLOB DEFAULT '') IS - TYPE r_cursor IS REF CURSOR; - sql_query CLOB; - diff_cur r_cursor; - diff_row V_DIFF_TITRE_ACCES%ROWTYPE; - BEGIN - sql_query := 'SELECT V_DIFF_TITRE_ACCES.* FROM V_DIFF_TITRE_ACCES ' || get_sql_criterion('TITRE_ACCES',SQL_CRITERION); - OPEN diff_cur FOR sql_query; - LOOP - FETCH diff_cur INTO diff_row; EXIT WHEN diff_cur%NOTFOUND; - BEGIN - - CASE diff_row.import_action - WHEN 'insert' THEN - INSERT INTO TITRE_ACCES - ( id, CODE_DEPT_TITRE_ACCES,CODE_PAYS_TITRE_ACCES,LIBELLE_ETB_TITRE_ACCES,LIBELLE_TITRE_ACCES,THESE_ID,TITRE_ACCES_INTERNE_EXTERNE,TYPE_ETB_TITRE_ACCES, source_id, source_code, histo_createur_id, histo_modificateur_id ) - VALUES - ( COALESCE(diff_row.id,TITRE_ACCES_ID_SEQ.NEXTVAL), diff_row.CODE_DEPT_TITRE_ACCES,diff_row.CODE_PAYS_TITRE_ACCES,diff_row.LIBELLE_ETB_TITRE_ACCES,diff_row.LIBELLE_TITRE_ACCES,diff_row.THESE_ID,diff_row.TITRE_ACCES_INTERNE_EXTERNE,diff_row.TYPE_ETB_TITRE_ACCES, diff_row.source_id, diff_row.source_code, get_current_user, get_current_user ); - - WHEN 'update' THEN - IF (diff_row.u_CODE_DEPT_TITRE_ACCES = 1 AND IN_COLUMN_LIST('CODE_DEPT_TITRE_ACCES',IGNORE_UPD_COLS) = 0) THEN UPDATE TITRE_ACCES SET CODE_DEPT_TITRE_ACCES = diff_row.CODE_DEPT_TITRE_ACCES WHERE ID = diff_row.id; END IF; - IF (diff_row.u_CODE_PAYS_TITRE_ACCES = 1 AND IN_COLUMN_LIST('CODE_PAYS_TITRE_ACCES',IGNORE_UPD_COLS) = 0) THEN UPDATE TITRE_ACCES SET CODE_PAYS_TITRE_ACCES = diff_row.CODE_PAYS_TITRE_ACCES WHERE ID = diff_row.id; END IF; - IF (diff_row.u_LIBELLE_ETB_TITRE_ACCES = 1 AND IN_COLUMN_LIST('LIBELLE_ETB_TITRE_ACCES',IGNORE_UPD_COLS) = 0) THEN UPDATE TITRE_ACCES SET LIBELLE_ETB_TITRE_ACCES = diff_row.LIBELLE_ETB_TITRE_ACCES WHERE ID = diff_row.id; END IF; - IF (diff_row.u_LIBELLE_TITRE_ACCES = 1 AND IN_COLUMN_LIST('LIBELLE_TITRE_ACCES',IGNORE_UPD_COLS) = 0) THEN UPDATE TITRE_ACCES SET LIBELLE_TITRE_ACCES = diff_row.LIBELLE_TITRE_ACCES WHERE ID = diff_row.id; END IF; - IF (diff_row.u_THESE_ID = 1 AND IN_COLUMN_LIST('THESE_ID',IGNORE_UPD_COLS) = 0) THEN UPDATE TITRE_ACCES SET THESE_ID = diff_row.THESE_ID WHERE ID = diff_row.id; END IF; - IF (diff_row.u_TITRE_ACCES_INTERNE_EXTERNE = 1 AND IN_COLUMN_LIST('TITRE_ACCES_INTERNE_EXTERNE',IGNORE_UPD_COLS) = 0) THEN UPDATE TITRE_ACCES SET TITRE_ACCES_INTERNE_EXTERNE = diff_row.TITRE_ACCES_INTERNE_EXTERNE WHERE ID = diff_row.id; END IF; - IF (diff_row.u_TYPE_ETB_TITRE_ACCES = 1 AND IN_COLUMN_LIST('TYPE_ETB_TITRE_ACCES',IGNORE_UPD_COLS) = 0) THEN UPDATE TITRE_ACCES SET TYPE_ETB_TITRE_ACCES = diff_row.TYPE_ETB_TITRE_ACCES WHERE ID = diff_row.id; END IF; - - WHEN 'delete' THEN - UPDATE TITRE_ACCES SET histo_destruction = SYSDATE, histo_destructeur_id = get_current_user WHERE ID = diff_row.id; - - WHEN 'undelete' THEN - IF (diff_row.u_CODE_DEPT_TITRE_ACCES = 1 AND IN_COLUMN_LIST('CODE_DEPT_TITRE_ACCES',IGNORE_UPD_COLS) = 0) THEN UPDATE TITRE_ACCES SET CODE_DEPT_TITRE_ACCES = diff_row.CODE_DEPT_TITRE_ACCES WHERE ID = diff_row.id; END IF; - IF (diff_row.u_CODE_PAYS_TITRE_ACCES = 1 AND IN_COLUMN_LIST('CODE_PAYS_TITRE_ACCES',IGNORE_UPD_COLS) = 0) THEN UPDATE TITRE_ACCES SET CODE_PAYS_TITRE_ACCES = diff_row.CODE_PAYS_TITRE_ACCES WHERE ID = diff_row.id; END IF; - IF (diff_row.u_LIBELLE_ETB_TITRE_ACCES = 1 AND IN_COLUMN_LIST('LIBELLE_ETB_TITRE_ACCES',IGNORE_UPD_COLS) = 0) THEN UPDATE TITRE_ACCES SET LIBELLE_ETB_TITRE_ACCES = diff_row.LIBELLE_ETB_TITRE_ACCES WHERE ID = diff_row.id; END IF; - IF (diff_row.u_LIBELLE_TITRE_ACCES = 1 AND IN_COLUMN_LIST('LIBELLE_TITRE_ACCES',IGNORE_UPD_COLS) = 0) THEN UPDATE TITRE_ACCES SET LIBELLE_TITRE_ACCES = diff_row.LIBELLE_TITRE_ACCES WHERE ID = diff_row.id; END IF; - IF (diff_row.u_THESE_ID = 1 AND IN_COLUMN_LIST('THESE_ID',IGNORE_UPD_COLS) = 0) THEN UPDATE TITRE_ACCES SET THESE_ID = diff_row.THESE_ID WHERE ID = diff_row.id; END IF; - IF (diff_row.u_TITRE_ACCES_INTERNE_EXTERNE = 1 AND IN_COLUMN_LIST('TITRE_ACCES_INTERNE_EXTERNE',IGNORE_UPD_COLS) = 0) THEN UPDATE TITRE_ACCES SET TITRE_ACCES_INTERNE_EXTERNE = diff_row.TITRE_ACCES_INTERNE_EXTERNE WHERE ID = diff_row.id; END IF; - IF (diff_row.u_TYPE_ETB_TITRE_ACCES = 1 AND IN_COLUMN_LIST('TYPE_ETB_TITRE_ACCES',IGNORE_UPD_COLS) = 0) THEN UPDATE TITRE_ACCES SET TYPE_ETB_TITRE_ACCES = diff_row.TYPE_ETB_TITRE_ACCES WHERE ID = diff_row.id; END IF; - UPDATE TITRE_ACCES SET histo_destruction = NULL, histo_destructeur_id = NULL WHERE ID = diff_row.id; - - END CASE; - - EXCEPTION WHEN OTHERS THEN - UNICAEN_IMPORT.SYNC_LOG( SQLERRM, 'TITRE_ACCES', diff_row.source_code ); - END; - END LOOP; - CLOSE diff_cur; - - END MAJ_TITRE_ACCES; - - - - PROCEDURE MAJ_THESE_ANNEE_UNIV(SQL_CRITERION CLOB DEFAULT '', IGNORE_UPD_COLS CLOB DEFAULT '') IS - TYPE r_cursor IS REF CURSOR; - sql_query CLOB; - diff_cur r_cursor; - diff_row V_DIFF_THESE_ANNEE_UNIV%ROWTYPE; - BEGIN - sql_query := 'SELECT V_DIFF_THESE_ANNEE_UNIV.* FROM V_DIFF_THESE_ANNEE_UNIV ' || get_sql_criterion('THESE_ANNEE_UNIV',SQL_CRITERION); - OPEN diff_cur FOR sql_query; - LOOP - FETCH diff_cur INTO diff_row; EXIT WHEN diff_cur%NOTFOUND; - BEGIN - - CASE diff_row.import_action - WHEN 'insert' THEN - INSERT INTO THESE_ANNEE_UNIV - ( id, ANNEE_UNIV,THESE_ID, source_id, source_code, histo_createur_id, histo_modificateur_id ) - VALUES - ( COALESCE(diff_row.id,THESE_ANNEE_UNIV_ID_SEQ.NEXTVAL), diff_row.ANNEE_UNIV,diff_row.THESE_ID, diff_row.source_id, diff_row.source_code, get_current_user, get_current_user ); - - WHEN 'update' THEN - IF (diff_row.u_ANNEE_UNIV = 1 AND IN_COLUMN_LIST('ANNEE_UNIV',IGNORE_UPD_COLS) = 0) THEN UPDATE THESE_ANNEE_UNIV SET ANNEE_UNIV = diff_row.ANNEE_UNIV WHERE ID = diff_row.id; END IF; - IF (diff_row.u_THESE_ID = 1 AND IN_COLUMN_LIST('THESE_ID',IGNORE_UPD_COLS) = 0) THEN UPDATE THESE_ANNEE_UNIV SET THESE_ID = diff_row.THESE_ID WHERE ID = diff_row.id; END IF; - - WHEN 'delete' THEN - UPDATE THESE_ANNEE_UNIV SET histo_destruction = SYSDATE, histo_destructeur_id = get_current_user WHERE ID = diff_row.id; - - WHEN 'undelete' THEN - IF (diff_row.u_ANNEE_UNIV = 1 AND IN_COLUMN_LIST('ANNEE_UNIV',IGNORE_UPD_COLS) = 0) THEN UPDATE THESE_ANNEE_UNIV SET ANNEE_UNIV = diff_row.ANNEE_UNIV WHERE ID = diff_row.id; END IF; - IF (diff_row.u_THESE_ID = 1 AND IN_COLUMN_LIST('THESE_ID',IGNORE_UPD_COLS) = 0) THEN UPDATE THESE_ANNEE_UNIV SET THESE_ID = diff_row.THESE_ID WHERE ID = diff_row.id; END IF; - UPDATE THESE_ANNEE_UNIV SET histo_destruction = NULL, histo_destructeur_id = NULL WHERE ID = diff_row.id; - - END CASE; - - EXCEPTION WHEN OTHERS THEN - UNICAEN_IMPORT.SYNC_LOG( SQLERRM, 'THESE_ANNEE_UNIV', diff_row.source_code ); - END; - END LOOP; - CLOSE diff_cur; - - END MAJ_THESE_ANNEE_UNIV; - - - - PROCEDURE MAJ_FINANCEMENT(SQL_CRITERION CLOB DEFAULT '', IGNORE_UPD_COLS CLOB DEFAULT '') IS - TYPE r_cursor IS REF CURSOR; - sql_query CLOB; - diff_cur r_cursor; - diff_row V_DIFF_FINANCEMENT%ROWTYPE; - BEGIN - sql_query := 'SELECT V_DIFF_FINANCEMENT.* FROM V_DIFF_FINANCEMENT ' || get_sql_criterion('FINANCEMENT',SQL_CRITERION); - OPEN diff_cur FOR sql_query; - LOOP - FETCH diff_cur INTO diff_row; EXIT WHEN diff_cur%NOTFOUND; - BEGIN - - CASE diff_row.import_action - WHEN 'insert' THEN - INSERT INTO FINANCEMENT - ( id, ANNEE,COMPLEMENT_FINANCEMENT,DATE_DEBUT,DATE_FIN,ORIGINE_FINANCEMENT_ID,QUOTITE_FINANCEMENT,THESE_ID, source_id, source_code, histo_createur_id, histo_modificateur_id ) - VALUES - ( COALESCE(diff_row.id,FINANCEMENT_ID_SEQ.NEXTVAL), diff_row.ANNEE,diff_row.COMPLEMENT_FINANCEMENT,diff_row.DATE_DEBUT,diff_row.DATE_FIN,diff_row.ORIGINE_FINANCEMENT_ID,diff_row.QUOTITE_FINANCEMENT,diff_row.THESE_ID, diff_row.source_id, diff_row.source_code, get_current_user, get_current_user ); - - WHEN 'update' THEN - IF (diff_row.u_ANNEE = 1 AND IN_COLUMN_LIST('ANNEE',IGNORE_UPD_COLS) = 0) THEN UPDATE FINANCEMENT SET ANNEE = diff_row.ANNEE WHERE ID = diff_row.id; END IF; - IF (diff_row.u_COMPLEMENT_FINANCEMENT = 1 AND IN_COLUMN_LIST('COMPLEMENT_FINANCEMENT',IGNORE_UPD_COLS) = 0) THEN UPDATE FINANCEMENT SET COMPLEMENT_FINANCEMENT = diff_row.COMPLEMENT_FINANCEMENT WHERE ID = diff_row.id; END IF; - IF (diff_row.u_DATE_DEBUT = 1 AND IN_COLUMN_LIST('DATE_DEBUT',IGNORE_UPD_COLS) = 0) THEN UPDATE FINANCEMENT SET DATE_DEBUT = diff_row.DATE_DEBUT WHERE ID = diff_row.id; END IF; - IF (diff_row.u_DATE_FIN = 1 AND IN_COLUMN_LIST('DATE_FIN',IGNORE_UPD_COLS) = 0) THEN UPDATE FINANCEMENT SET DATE_FIN = diff_row.DATE_FIN WHERE ID = diff_row.id; END IF; - IF (diff_row.u_ORIGINE_FINANCEMENT_ID = 1 AND IN_COLUMN_LIST('ORIGINE_FINANCEMENT_ID',IGNORE_UPD_COLS) = 0) THEN UPDATE FINANCEMENT SET ORIGINE_FINANCEMENT_ID = diff_row.ORIGINE_FINANCEMENT_ID WHERE ID = diff_row.id; END IF; - IF (diff_row.u_QUOTITE_FINANCEMENT = 1 AND IN_COLUMN_LIST('QUOTITE_FINANCEMENT',IGNORE_UPD_COLS) = 0) THEN UPDATE FINANCEMENT SET QUOTITE_FINANCEMENT = diff_row.QUOTITE_FINANCEMENT WHERE ID = diff_row.id; END IF; - IF (diff_row.u_THESE_ID = 1 AND IN_COLUMN_LIST('THESE_ID',IGNORE_UPD_COLS) = 0) THEN UPDATE FINANCEMENT SET THESE_ID = diff_row.THESE_ID WHERE ID = diff_row.id; END IF; - - WHEN 'delete' THEN - UPDATE FINANCEMENT SET histo_destruction = SYSDATE, histo_destructeur_id = get_current_user WHERE ID = diff_row.id; - - WHEN 'undelete' THEN - IF (diff_row.u_ANNEE = 1 AND IN_COLUMN_LIST('ANNEE',IGNORE_UPD_COLS) = 0) THEN UPDATE FINANCEMENT SET ANNEE = diff_row.ANNEE WHERE ID = diff_row.id; END IF; - IF (diff_row.u_COMPLEMENT_FINANCEMENT = 1 AND IN_COLUMN_LIST('COMPLEMENT_FINANCEMENT',IGNORE_UPD_COLS) = 0) THEN UPDATE FINANCEMENT SET COMPLEMENT_FINANCEMENT = diff_row.COMPLEMENT_FINANCEMENT WHERE ID = diff_row.id; END IF; - IF (diff_row.u_DATE_DEBUT = 1 AND IN_COLUMN_LIST('DATE_DEBUT',IGNORE_UPD_COLS) = 0) THEN UPDATE FINANCEMENT SET DATE_DEBUT = diff_row.DATE_DEBUT WHERE ID = diff_row.id; END IF; - IF (diff_row.u_DATE_FIN = 1 AND IN_COLUMN_LIST('DATE_FIN',IGNORE_UPD_COLS) = 0) THEN UPDATE FINANCEMENT SET DATE_FIN = diff_row.DATE_FIN WHERE ID = diff_row.id; END IF; - IF (diff_row.u_ORIGINE_FINANCEMENT_ID = 1 AND IN_COLUMN_LIST('ORIGINE_FINANCEMENT_ID',IGNORE_UPD_COLS) = 0) THEN UPDATE FINANCEMENT SET ORIGINE_FINANCEMENT_ID = diff_row.ORIGINE_FINANCEMENT_ID WHERE ID = diff_row.id; END IF; - IF (diff_row.u_QUOTITE_FINANCEMENT = 1 AND IN_COLUMN_LIST('QUOTITE_FINANCEMENT',IGNORE_UPD_COLS) = 0) THEN UPDATE FINANCEMENT SET QUOTITE_FINANCEMENT = diff_row.QUOTITE_FINANCEMENT WHERE ID = diff_row.id; END IF; - IF (diff_row.u_THESE_ID = 1 AND IN_COLUMN_LIST('THESE_ID',IGNORE_UPD_COLS) = 0) THEN UPDATE FINANCEMENT SET THESE_ID = diff_row.THESE_ID WHERE ID = diff_row.id; END IF; - UPDATE FINANCEMENT SET histo_destruction = NULL, histo_destructeur_id = NULL WHERE ID = diff_row.id; - - END CASE; - - EXCEPTION WHEN OTHERS THEN - UNICAEN_IMPORT.SYNC_LOG( SQLERRM, 'FINANCEMENT', diff_row.source_code ); - END; - END LOOP; - CLOSE diff_cur; - - END MAJ_FINANCEMENT; - - -- END OF AUTOMATIC GENERATION -- -END UNICAEN_IMPORT; -/ - CREATE OR REPLACE PACKAGE BODY /*"SYGAL".*/"UNICAEN_ORACLE" AS - - FUNCTION implode(i_query VARCHAR2, i_seperator VARCHAR2 DEFAULT ',') RETURN VARCHAR2 AS - l_return CLOB:=''; - l_temp CLOB; - TYPE r_cursor is REF CURSOR; - rc r_cursor; - BEGIN - OPEN rc FOR i_query; - LOOP - FETCH rc INTO L_TEMP; - EXIT WHEN RC%NOTFOUND; - l_return:=l_return||L_TEMP||i_seperator; - END LOOP; - RETURN RTRIM(l_return,i_seperator); - END; - - FUNCTION STR_REDUCE( str CLOB ) RETURN CLOB IS - BEGIN - RETURN utl_raw.cast_to_varchar2((nlssort(str, 'nls_sort=binary_ai'))); - END; - - FUNCTION STR_FIND( haystack CLOB, needle VARCHAR2 ) RETURN NUMERIC IS - BEGIN - IF STR_REDUCE( haystack ) LIKE STR_REDUCE( '%' || needle || '%' ) THEN RETURN 1; END IF; - RETURN 0; - END; - - FUNCTION LIKED( haystack CLOB, needle CLOB ) RETURN NUMERIC IS - BEGIN - RETURN CASE WHEN STR_REDUCE(haystack) LIKE STR_REDUCE(needle) THEN 1 ELSE 0 END; - END; - - FUNCTION COMPRISE_ENTRE( date_debut DATE, date_fin DATE, date_obs DATE DEFAULT NULL, inclusif NUMERIC DEFAULT 0 ) RETURN NUMERIC IS - d_deb DATE; - d_fin DATE; - d_obs DATE; - res NUMERIC; - BEGIN - IF inclusif = 1 THEN - d_obs := TRUNC( COALESCE( d_obs , SYSDATE ) ); - d_deb := TRUNC( COALESCE( date_debut, d_obs ) ); - d_fin := TRUNC( COALESCE( date_fin , d_obs ) ); - IF d_obs BETWEEN d_deb AND d_fin THEN - RETURN 1; - ELSE - RETURN 0; - END IF; - ELSE - d_obs := TRUNC( COALESCE( d_obs, SYSDATE ) ); - d_deb := TRUNC( date_debut ); - d_fin := TRUNC( date_fin ); - - IF d_deb IS NOT NULL AND NOT d_deb <= d_obs THEN - RETURN 0; - END IF; - IF d_fin IS NOT NULL AND NOT d_obs < d_fin THEN - RETURN 0; - END IF; - RETURN 1; - END IF; - END; - -END UNICAEN_ORACLE; -/ - CREATE OR REPLACE TRIGGER /*"SYGAL".*/"INDIVIDU_RECH_UPDATE" - after insert or update of NOM_USUEL,NOM_PATRONYMIQUE,PRENOM1,PRENOM2,PRENOM3,SOURCE_CODE or delete - on INDIVIDU - for each row - DECLARE - v_haystack CLOB := individu_haystack(:new.NOM_USUEL, :new.NOM_PATRONYMIQUE, :new.PRENOM1, :new.EMAIL, :new.SOURCE_CODE); - BEGIN - IF INSERTING THEN - insert into INDIVIDU_RECH(ID, HAYSTACK) values (:new.ID, v_haystack); - END IF; - IF UPDATING THEN - UPDATE INDIVIDU_RECH SET HAYSTACK = v_haystack where ID = :new.ID; - END IF; - IF DELETING THEN - delete from INDIVIDU_RECH where id = :old.ID; - END IF; - END; -/ -ALTER TRIGGER /*"SYGAL".*/"INDIVIDU_RECH_UPDATE" ENABLE; - CREATE MATERIALIZED VIEW /*"SYGAL".*/"MV_INDICATEUR_1" ("ID", "ETABLISSEMENT_ID", "DOCTORANT_ID", "ECOLE_DOCT_ID", "UNITE_RECH_ID", "BESOIN_EXPURGE", "COD_UNIT_RECH", "CORREC_AUTORISEE", "DATE_AUTORIS_SOUTENANCE", "DATE_FIN_CONFID", "DATE_PREM_INSC", "DATE_PREV_SOUTENANCE", "DATE_SOUTENANCE", "ETAT_THESE", "LIB_DISC", "LIB_ETAB_COTUT", "LIB_PAYS_COTUT", "LIB_UNIT_RECH", "RESULTAT", "SOUTENANCE_AUTORIS", "TEM_AVENANT_COTUT", "TITRE", "SOURCE_CODE", "SOURCE_ID", "HISTO_CREATEUR_ID", "HISTO_CREATION", "HISTO_MODIFICATEUR_ID", "HISTO_MODIFICATION", "HISTO_DESTRUCTEUR_ID", "HISTO_DESTRUCTION") - ORGANIZATION HEAP PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 - NOCOMPRESS LOGGING - BUILD IMMEDIATE - USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 - REFRESH FORCE ON DEMAND START WITH sysdate+0 NEXT SYSDATE + 1 - WITH PRIMARY KEY USING DEFAULT LOCAL ROLLBACK SEGMENT - USING ENFORCED CONSTRAINTS DISABLE QUERY REWRITE - AS SELECT "THESE"."ID" "ID","THESE"."ETABLISSEMENT_ID" "ETABLISSEMENT_ID","THESE"."DOCTORANT_ID" "DOCTORANT_ID","THESE"."ECOLE_DOCT_ID" "ECOLE_DOCT_ID","THESE"."UNITE_RECH_ID" "UNITE_RECH_ID","THESE"."BESOIN_EXPURGE" "BESOIN_EXPURGE","THESE"."COD_UNIT_RECH" "COD_UNIT_RECH","THESE"."CORREC_AUTORISEE" "CORREC_AUTORISEE","THESE"."DATE_AUTORIS_SOUTENANCE" "DATE_AUTORIS_SOUTENANCE","THESE"."DATE_FIN_CONFID" "DATE_FIN_CONFID","THESE"."DATE_PREM_INSC" "DATE_PREM_INSC","THESE"."DATE_PREV_SOUTENANCE" "DATE_PREV_SOUTENANCE","THESE"."DATE_SOUTENANCE" "DATE_SOUTENANCE","THESE"."ETAT_THESE" "ETAT_THESE","THESE"."LIB_DISC" "LIB_DISC","THESE"."LIB_ETAB_COTUT" "LIB_ETAB_COTUT","THESE"."LIB_PAYS_COTUT" "LIB_PAYS_COTUT","THESE"."LIB_UNIT_RECH" "LIB_UNIT_RECH","THESE"."RESULTAT" "RESULTAT","THESE"."SOUTENANCE_AUTORIS" "SOUTENANCE_AUTORIS","THESE"."TEM_AVENANT_COTUT" "TEM_AVENANT_COTUT","THESE"."TITRE" "TITRE","THESE"."SOURCE_CODE" "SOURCE_CODE","THESE"."SOURCE_ID" "SOURCE_ID","THESE"."HISTO_CREATEUR_ID" "HISTO_CREATEUR_ID","THESE"."HISTO_CREATION" "HISTO_CREATION","THESE"."HISTO_MODIFICATEUR_ID" "HISTO_MODIFICATEUR_ID","THESE"."HISTO_MODIFICATION" "HISTO_MODIFICATION","THESE"."HISTO_DESTRUCTEUR_ID" "HISTO_DESTRUCTEUR_ID","THESE"."HISTO_DESTRUCTION" "HISTO_DESTRUCTION" FROM "THESE" "THESE"; - CREATE MATERIALIZED VIEW /*"SYGAL".*/"MV_INDICATEUR_101" ("ID", "TYPE", "CIVILITE", "NOM_USUEL", "NOM_PATRONYMIQUE", "PRENOM1", "PRENOM2", "PRENOM3", "EMAIL", "DATE_NAISSANCE", "NATIONALITE", "SOURCE_CODE", "SOURCE_ID", "HISTO_CREATEUR_ID", "HISTO_CREATION", "HISTO_MODIFICATEUR_ID", "HISTO_MODIFICATION", "HISTO_DESTRUCTEUR_ID", "HISTO_DESTRUCTION", "SUPANN_ID") - ORGANIZATION HEAP PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 - NOCOMPRESS LOGGING - BUILD IMMEDIATE - USING INDEX - REFRESH FORCE ON DEMAND START WITH sysdate+0 NEXT SYSDATE + 1 - USING DEFAULT LOCAL ROLLBACK SEGMENT - USING ENFORCED CONSTRAINTS DISABLE QUERY REWRITE - AS select i.* -from DOCTORANT d -join INDIVIDU i ON d.INDIVIDU_ID = i.ID -left join THESE t ON d.ID = t.DOCTORANT_ID -where t.ETAT_THESE = 'E'and t.DATE_PREM_INSC < ADD_MONTHS(SYSDATE,60)and t.ID IN ( SELECT THESE_ID FROM THESE_ANNEE_UNIV JOIN THESE T on THESE_ANNEE_UNIV.THESE_ID = T.ID WHERE T.ETAT_THESE = 'E' GROUP BY (THESE_ID) HAVING MAX(ANNEE_UNIV) < TO_CHAR(ADD_MONTHS(SYSDATE, -12), 'yyyy')) ; - CREATE MATERIALIZED VIEW /*"SYGAL".*/"MV_INDICATEUR_2" ("ID", "ETABLISSEMENT_ID", "DOCTORANT_ID", "ECOLE_DOCT_ID", "UNITE_RECH_ID", "BESOIN_EXPURGE", "COD_UNIT_RECH", "CORREC_AUTORISEE", "DATE_AUTORIS_SOUTENANCE", "DATE_FIN_CONFID", "DATE_PREM_INSC", "DATE_PREV_SOUTENANCE", "DATE_SOUTENANCE", "ETAT_THESE", "LIB_DISC", "LIB_ETAB_COTUT", "LIB_PAYS_COTUT", "LIB_UNIT_RECH", "RESULTAT", "SOUTENANCE_AUTORIS", "TEM_AVENANT_COTUT", "TITRE", "SOURCE_CODE", "SOURCE_ID", "HISTO_CREATEUR_ID", "HISTO_CREATION", "HISTO_MODIFICATEUR_ID", "HISTO_MODIFICATION", "HISTO_DESTRUCTEUR_ID", "HISTO_DESTRUCTION") - ORGANIZATION HEAP PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 - NOCOMPRESS LOGGING - BUILD IMMEDIATE - USING INDEX - REFRESH FORCE ON DEMAND START WITH sysdate+0 NEXT SYSDATE + 1 - USING DEFAULT LOCAL ROLLBACK SEGMENT - USING ENFORCED CONSTRAINTS DISABLE QUERY REWRITE - AS SELECT t.* -FROM THESE T - LEFT JOIN VALIDATION V ON T.ID = V.THESE_ID - LEFT JOIN TYPE_VALIDATION N on V.TYPE_VALIDATION_ID = N.ID -WHERE T.DATE_SOUTENANCE > ADD_MONTHS(SYSDATE,-2) AND T.ETAT_THESE = 'E' AND N.CODE = 'PAGE_DE_COUVERTURE' AND V.ID IS NULL; - CREATE MATERIALIZED VIEW /*"SYGAL".*/"MV_INDICATEUR_21" ("ID", "ETABLISSEMENT_ID", "DOCTORANT_ID", "ECOLE_DOCT_ID", "UNITE_RECH_ID", "BESOIN_EXPURGE", "COD_UNIT_RECH", "CORREC_AUTORISEE", "DATE_AUTORIS_SOUTENANCE", "DATE_FIN_CONFID", "DATE_PREM_INSC", "DATE_PREV_SOUTENANCE", "DATE_SOUTENANCE", "ETAT_THESE", "LIB_DISC", "LIB_ETAB_COTUT", "LIB_PAYS_COTUT", "LIB_UNIT_RECH", "RESULTAT", "SOUTENANCE_AUTORIS", "TEM_AVENANT_COTUT", "TITRE", "SOURCE_CODE", "SOURCE_ID", "HISTO_CREATEUR_ID", "HISTO_CREATION", "HISTO_MODIFICATEUR_ID", "HISTO_MODIFICATION", "HISTO_DESTRUCTEUR_ID", "HISTO_DESTRUCTION") - ORGANIZATION HEAP PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 - NOCOMPRESS LOGGING - BUILD IMMEDIATE - USING INDEX - REFRESH FORCE ON DEMAND START WITH sysdate+0 NEXT SYSDATE + 1 - USING DEFAULT LOCAL ROLLBACK SEGMENT - USING ENFORCED CONSTRAINTS DISABLE QUERY REWRITE - AS SELECT * FROM THESE WHERE ECOLE_DOCT_ID=(SELECT ID FROM ECOLE_DOCT WHERE SOURCE_CODE='UCN::497') AND ETAT_THESE='E'; - CREATE MATERIALIZED VIEW /*"SYGAL".*/"MV_INDICATEUR_3" ("ID", "ETABLISSEMENT_ID", "DOCTORANT_ID", "ECOLE_DOCT_ID", "UNITE_RECH_ID", "BESOIN_EXPURGE", "COD_UNIT_RECH", "CORREC_AUTORISEE", "DATE_AUTORIS_SOUTENANCE", "DATE_FIN_CONFID", "DATE_PREM_INSC", "DATE_PREV_SOUTENANCE", "DATE_SOUTENANCE", "ETAT_THESE", "LIB_DISC", "LIB_ETAB_COTUT", "LIB_PAYS_COTUT", "LIB_UNIT_RECH", "RESULTAT", "SOUTENANCE_AUTORIS", "TEM_AVENANT_COTUT", "TITRE", "SOURCE_CODE", "SOURCE_ID", "HISTO_CREATEUR_ID", "HISTO_CREATION", "HISTO_MODIFICATEUR_ID", "HISTO_MODIFICATION", "HISTO_DESTRUCTEUR_ID", "HISTO_DESTRUCTION") - ORGANIZATION HEAP PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 - NOCOMPRESS LOGGING - BUILD IMMEDIATE - USING INDEX - REFRESH FORCE ON DEMAND START WITH sysdate+0 NEXT SYSDATE + 1 - USING DEFAULT LOCAL ROLLBACK SEGMENT - USING ENFORCED CONSTRAINTS DISABLE QUERY REWRITE - AS SELECT t.* - FROM THESE T - LEFT JOIN FICHIER F on T.ID = F.THESE_ID - LEFT JOIN NATURE_FICHIER N on F.NATURE_ID = N.ID - WHERE T.DATE_SOUTENANCE > ADD_MONTHS(SYSDATE,-1) AND T.ETAT_THESE = 'E' AND N.CODE = 'THESE_PDF' AND F.ID IS NULL; - CREATE MATERIALIZED VIEW /*"SYGAL".*/"MV_INDICATEUR_4" ("ID", "ETABLISSEMENT_ID", "DOCTORANT_ID", "ECOLE_DOCT_ID", "UNITE_RECH_ID", "BESOIN_EXPURGE", "COD_UNIT_RECH", "CORREC_AUTORISEE", "DATE_AUTORIS_SOUTENANCE", "DATE_FIN_CONFID", "DATE_PREM_INSC", "DATE_PREV_SOUTENANCE", "DATE_SOUTENANCE", "ETAT_THESE", "LIB_DISC", "LIB_ETAB_COTUT", "LIB_PAYS_COTUT", "LIB_UNIT_RECH", "RESULTAT", "SOUTENANCE_AUTORIS", "TEM_AVENANT_COTUT", "TITRE", "SOURCE_CODE", "SOURCE_ID", "HISTO_CREATEUR_ID", "HISTO_CREATION", "HISTO_MODIFICATEUR_ID", "HISTO_MODIFICATION", "HISTO_DESTRUCTEUR_ID", "HISTO_DESTRUCTION") - ORGANIZATION HEAP PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 - NOCOMPRESS LOGGING - BUILD IMMEDIATE - USING INDEX - REFRESH FORCE ON DEMAND START WITH sysdate+0 NEXT SYSDATE + 1 - USING DEFAULT LOCAL ROLLBACK SEGMENT - USING ENFORCED CONSTRAINTS DISABLE QUERY REWRITE - AS SELECT * -FROM THESE t -WHERE t.ETAT_THESE = 'E' AND t.DATE_SOUTENANCE < SYSDATE; - CREATE MATERIALIZED VIEW /*"SYGAL".*/"MV_INDICATEUR_5" ("ID", "ETABLISSEMENT_ID", "DOCTORANT_ID", "ECOLE_DOCT_ID", "UNITE_RECH_ID", "BESOIN_EXPURGE", "COD_UNIT_RECH", "CORREC_AUTORISEE", "DATE_AUTORIS_SOUTENANCE", "DATE_FIN_CONFID", "DATE_PREM_INSC", "DATE_PREV_SOUTENANCE", "DATE_SOUTENANCE", "ETAT_THESE", "LIB_DISC", "LIB_ETAB_COTUT", "LIB_PAYS_COTUT", "LIB_UNIT_RECH", "RESULTAT", "SOUTENANCE_AUTORIS", "TEM_AVENANT_COTUT", "TITRE", "SOURCE_CODE", "SOURCE_ID", "HISTO_CREATEUR_ID", "HISTO_CREATION", "HISTO_MODIFICATEUR_ID", "HISTO_MODIFICATION", "HISTO_DESTRUCTEUR_ID", "HISTO_DESTRUCTION") - ORGANIZATION HEAP PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 - NOCOMPRESS LOGGING - BUILD IMMEDIATE - USING INDEX - REFRESH FORCE ON DEMAND START WITH sysdate+0 NEXT SYSDATE + 1 - USING DEFAULT LOCAL ROLLBACK SEGMENT - USING ENFORCED CONSTRAINTS DISABLE QUERY REWRITE - AS SELECT * -FROM THESE t -WHERE t.ETAT_THESE = 'E' AND t.DATE_SOUTENANCE > SYSDATE; - CREATE MATERIALIZED VIEW /*"SYGAL".*/"MV_INDICATEUR_6" ("ID", "ETABLISSEMENT_ID", "DOCTORANT_ID", "ECOLE_DOCT_ID", "UNITE_RECH_ID", "BESOIN_EXPURGE", "COD_UNIT_RECH", "CORREC_AUTORISEE", "DATE_AUTORIS_SOUTENANCE", "DATE_FIN_CONFID", "DATE_PREM_INSC", "DATE_PREV_SOUTENANCE", "DATE_SOUTENANCE", "ETAT_THESE", "LIB_DISC", "LIB_ETAB_COTUT", "LIB_PAYS_COTUT", "LIB_UNIT_RECH", "RESULTAT", "SOUTENANCE_AUTORIS", "TEM_AVENANT_COTUT", "TITRE", "SOURCE_CODE", "SOURCE_ID", "HISTO_CREATEUR_ID", "HISTO_CREATION", "HISTO_MODIFICATEUR_ID", "HISTO_MODIFICATION", "HISTO_DESTRUCTEUR_ID", "HISTO_DESTRUCTION") - ORGANIZATION HEAP PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 - NOCOMPRESS LOGGING - BUILD IMMEDIATE - USING INDEX - REFRESH FORCE ON DEMAND START WITH sysdate+0 NEXT SYSDATE + 1 - USING DEFAULT LOCAL ROLLBACK SEGMENT - USING ENFORCED CONSTRAINTS DISABLE QUERY REWRITE - AS SELECT * -FROM THESE t -WHERE t.ETAT_THESE = 'E' AND t.DATE_PREM_INSC < ADD_MONTHS(SYSDATE,-72); - CREATE MATERIALIZED VIEW /*"SYGAL".*/"MV_INDICATEUR_61" ("ID", "SIGLE", "LIBELLE", "CHEMIN_LOGO", "TYPE_STRUCTURE_ID", "HISTO_CREATION", "HISTO_CREATEUR_ID", "HISTO_MODIFICATION", "HISTO_MODIFICATEUR_ID", "HISTO_DESTRUCTION", "HISTO_DESTRUCTEUR_ID", "SOURCE_ID", "SOURCE_CODE", "CODE") - ORGANIZATION HEAP PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 - NOCOMPRESS LOGGING - BUILD IMMEDIATE - USING INDEX - REFRESH FORCE ON DEMAND START WITH sysdate+0 NEXT SYSDATE + 1 - USING DEFAULT LOCAL ROLLBACK SEGMENT - USING ENFORCED CONSTRAINTS DISABLE QUERY REWRITE - AS SELECT * -FROM STRUCTURE -WHERE ID IN ( - SELECT UNITE_RECH.STRUCTURE_ID - FROM THESE - LEFT JOIN UNITE_RECH ON THESE.UNITE_RECH_ID = UNITE_RECH.ID - WHERE THESE.ETAT_THESE='E' AND UNITE_RECH.STRUCTURE_ID IS NOT NULL GROUP BY UNITE_RECH.STRUCTURE_ID) AND CHEMIN_LOGO IS NULL ; - CREATE MATERIALIZED VIEW /*"SYGAL".*/"MV_INDICATEUR_62" ("ID", "SIGLE", "LIBELLE", "CHEMIN_LOGO", "TYPE_STRUCTURE_ID", "HISTO_CREATION", "HISTO_CREATEUR_ID", "HISTO_MODIFICATION", "HISTO_MODIFICATEUR_ID", "HISTO_DESTRUCTION", "HISTO_DESTRUCTEUR_ID", "SOURCE_ID", "SOURCE_CODE", "CODE") - ORGANIZATION HEAP PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 - NOCOMPRESS LOGGING - BUILD IMMEDIATE - USING INDEX - REFRESH FORCE ON DEMAND START WITH sysdate+0 NEXT SYSDATE + 1 - USING DEFAULT LOCAL ROLLBACK SEGMENT - USING ENFORCED CONSTRAINTS DISABLE QUERY REWRITE - AS SELECT * -FROM STRUCTURE -WHERE ID IN ( - SELECT ECOLE_DOCT.STRUCTURE_ID - FROM THESE - LEFT JOIN ECOLE_DOCT ON THESE.ECOLE_DOCT_ID = ECOLE_DOCT.ID - WHERE THESE.ETAT_THESE='E' AND ECOLE_DOCT.STRUCTURE_ID IS NOT NULL GROUP BY ECOLE_DOCT.STRUCTURE_ID)AND CHEMIN_LOGO IS NULL ; - CREATE MATERIALIZED VIEW /*"SYGAL".*/"MV_INDICATEUR_7" ("ID", "TYPE", "CIVILITE", "NOM_USUEL", "NOM_PATRONYMIQUE", "PRENOM1", "PRENOM2", "PRENOM3", "EMAIL", "DATE_NAISSANCE", "NATIONALITE", "SOURCE_CODE", "SOURCE_ID", "HISTO_CREATEUR_ID", "HISTO_CREATION", "HISTO_MODIFICATEUR_ID", "HISTO_MODIFICATION", "HISTO_DESTRUCTEUR_ID", "HISTO_DESTRUCTION") - ORGANIZATION HEAP PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 - NOCOMPRESS LOGGING - BUILD IMMEDIATE - USING INDEX - REFRESH FORCE ON DEMAND START WITH sysdate+0 NEXT SYSDATE + 1 - USING DEFAULT LOCAL ROLLBACK SEGMENT - USING ENFORCED CONSTRAINTS DISABLE QUERY REWRITE - AS SELECT i.* -FROM THESE t -JOIN DOCTORANT d ON d.ID = t.DOCTORANT_ID -JOIN INDIVIDU I on d.INDIVIDU_ID = I.ID -WHERE i.TYPE='doctorant' AND t.ETAT_THESE = 'E' AND i.EMAIL is NULL; - CREATE MATERIALIZED VIEW /*"SYGAL".*/"MV_INDICATEUR_81" ("ID", "ETABLISSEMENT_ID", "DOCTORANT_ID", "ECOLE_DOCT_ID", "UNITE_RECH_ID", "BESOIN_EXPURGE", "COD_UNIT_RECH", "CORREC_AUTORISEE", "DATE_AUTORIS_SOUTENANCE", "DATE_FIN_CONFID", "DATE_PREM_INSC", "DATE_PREV_SOUTENANCE", "DATE_SOUTENANCE", "ETAT_THESE", "LIB_DISC", "LIB_ETAB_COTUT", "LIB_PAYS_COTUT", "LIB_UNIT_RECH", "RESULTAT", "SOUTENANCE_AUTORIS", "TEM_AVENANT_COTUT", "TITRE", "SOURCE_CODE", "SOURCE_ID", "HISTO_CREATEUR_ID", "HISTO_CREATION", "HISTO_MODIFICATEUR_ID", "HISTO_MODIFICATION", "HISTO_DESTRUCTEUR_ID", "HISTO_DESTRUCTION", "CORREC_AUTORISEE_FORCEE", "ANNEE_UNIV_1ERE_INSC") - ORGANIZATION HEAP PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 - NOCOMPRESS LOGGING - BUILD IMMEDIATE - USING INDEX - REFRESH FORCE ON DEMAND START WITH sysdate+0 NEXT SYSDATE + 1 - USING DEFAULT LOCAL ROLLBACK SEGMENT - USING ENFORCED CONSTRAINTS DISABLE QUERY REWRITE - AS SELECT * -FROM THESE t -WHERE t.DATE_PREM_INSC <= ADD_MONTHS(SYSDATE, -60)AND T.ETAT_THESE = 'E'AND ID IN ( SELECT THESE_ID FROM THESE_ANNEE_UNIV JOIN THESE T on THESE_ANNEE_UNIV.THESE_ID = T.ID WHERE T.ETAT_THESE = 'E' GROUP BY (THESE_ID) HAVING MAX(ANNEE_UNIV) <= TO_CHAR(ADD_MONTHS(SYSDATE, -12), 'yyyy')) ; - CREATE MATERIALIZED VIEW /*"SYGAL".*/"MV_RECHERCHE_THESE" ("CODE_THESE", "CODE_DOCTORANT", "CODE_ECOLE_DOCT", "HAYSTACK") - ORGANIZATION HEAP PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 - NOCOMPRESS LOGGING - LOB ("HAYSTACK") STORE AS BASICFILE (ENABLE STORAGE IN ROW CHUNK 8192 RETENTION - NOCACHE LOGGING ) - BUILD IMMEDIATE - USING INDEX - REFRESH FORCE ON DEMAND - USING DEFAULT LOCAL ROLLBACK SEGMENT - USING ENFORCED CONSTRAINTS DISABLE QUERY REWRITE - AS with acteurs as ( - select a.these_id, i.nom_usuel, INDIVIDU_ID - from individu i - join acteur a on i.id = a.individu_id - join these t on t.id = a.these_id - join role r on a.role_id = r.id and r.CODE in ('D', 'K') -- (co)directeur de thèse - ) - select - t.source_code code_these, - d.source_code code_doctorant, - ed.source_code code_ecole_doct, - trim(UNICAEN_ORACLE.str_reduce( - t.COD_UNIT_RECH || ' ' || t.TITRE || ' ' || - d.SOURCE_CODE || ' ' || id.NOM_PATRONYMIQUE || ' ' || id.NOM_USUEL || ' ' || id.PRENOM1 || ' ' || - a.nom_usuel)) as haystack - from these t - join doctorant d on d.id = t.doctorant_id - join individu id on id.id = d.INDIVIDU_ID - join these th on th.source_code = t.source_code - --join mv_thesard mvd on mvd.source_code = d.source_code - left join ecole_doct ed on t.ecole_doct_id = ed.id - left join acteurs a on a.these_id = t.id - left join individu ia on ia.id = a.INDIVIDU_ID; \ No newline at end of file diff --git a/database/01-bootstrap.sql b/database/01-bootstrap.sql deleted file mode 100644 index 24692563fd84371c8756eb77a401a6f3e8d3c3d2..0000000000000000000000000000000000000000 --- a/database/01-bootstrap.sql +++ /dev/null @@ -1,94 +0,0 @@ --- --- BOOTSTRAP --- - --- --- Sources de données SyGAL. --- -delete from SOURCE where CODE = 'SYGAL::sygal' -/ -INSERT INTO SOURCE (ID, CODE, LIBELLE, IMPORTABLE) -VALUES (1, 'SYGAL::sygal', 'SyGAL', 0) -/ - --- --- Pseudo-utilisateur 'sygal-app'. --- -delete from UTILISATEUR where USERNAME = 'sygal-app' -/ -INSERT INTO UTILISATEUR (ID, USERNAME, DISPLAY_NAME, PASSWORD) -VALUES (1, 'sygal-app', 'Application SyGAL', 'ldap') -/ - --- --- Rôles multi-établissements. --- -delete from ROLE where SOURCE_CODE in ('ADMIN_TECH', 'OBSERV') -/ -INSERT INTO ROLE (ID, CODE, LIBELLE, SOURCE_CODE, SOURCE_ID, ROLE_ID, THESE_DEP, HISTO_CREATEUR_ID, HISTO_MODIFICATEUR_ID) - VALUES (1, 'ADMIN_TECH', 'Administrateur technique', 'ADMIN_TECH', 1, 'Administrateur technique', 0, 1, 1) -/ -INSERT INTO ROLE (ID, CODE, LIBELLE, ROLE_ID, SOURCE_CODE, SOURCE_ID, THESE_DEP, HISTO_CREATEUR_ID, HISTO_MODIFICATEUR_ID) - VALUES (2 /*241*/, 'OBSERV', 'Observateur', 'Observateur', 'OBSERV', 1, 0, 1, 1) -/ - --- drop sequence INDIVIDU_ID_SEQ; --- drop sequence UTILISATEUR_ID_SEQ; --- drop sequence STRUCTURE_ID_SEQ; --- drop sequence ETABLISSEMENT_ID_SEQ; --- CREATE SEQUENCE "INDIVIDU_ID_SEQ" MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 NOORDER NOCYCLE ; --- CREATE SEQUENCE "UTILISATEUR_ID_SEQ" MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 NOORDER NOCYCLE ; --- CREATE SEQUENCE "STRUCTURE_ID_SEQ" MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 NOORDER NOCYCLE ; --- CREATE SEQUENCE "ETABLISSEMENT_ID_SEQ" MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 NOORDER NOCYCLE ; - --- --- L'établissement inconnu. --- -delete from ETABLISSEMENT where SOURCE_CODE = 'ETAB_INCONNU' -/ -delete from STRUCTURE where SOURCE_CODE = 'ETAB_INCONNU' -/ -insert into STRUCTURE(ID, LIBELLE, TYPE_STRUCTURE_ID, HISTO_CREATEUR_ID, HISTO_MODIFICATEUR_ID, SOURCE_ID, SOURCE_CODE, CODE) -select STRUCTURE_ID_SEQ.nextval, - 'Établissement inconnu', - 1, -- type etab - 1, 1, - 1, -- source sygal - 'ETAB_INCONNU', -- source code unique - 'INCONNU' -- code -from dual -/ -insert into ETABLISSEMENT(ID, STRUCTURE_ID, HISTO_CREATEUR_ID, HISTO_MODIFICATEUR_ID, SOURCE_ID, SOURCE_CODE) -select ETABLISSEMENT_ID_SEQ.nextval, - STRUCTURE_ID_SEQ.currval, - 1, 1, - 1, -- source sygal - 'ETAB_INCONNU' -- source code unique, idem structure -from dual -/ - --- --- Avance de sequences. --- -declare - maxid integer; - seqnextval integer; -begin - select max(id) into maxid from UTILISATEUR; - LOOP - select UTILISATEUR_ID_SEQ.nextval into seqnextval from dual; - EXIT WHEN seqnextval >= maxid; - END LOOP; -end; -/ -declare - maxid integer; - seqnextval integer; -begin - select max(id) into maxid from ROLE; - LOOP - select ROLE_ID_SEQ.nextval into seqnextval from dual; - EXIT WHEN seqnextval >= maxid; - END LOOP; -end; -/ diff --git a/database/02-inserts/oracle-data-insert-from-SYGAL.CATEGORIE_PRIVILEGE-into-SYGAL.sql b/database/02-inserts/oracle-data-insert-from-SYGAL.CATEGORIE_PRIVILEGE-into-SYGAL.sql deleted file mode 100644 index dc5ef4d22d1a6f4a192bd48d61506117dee4f421..0000000000000000000000000000000000000000 --- a/database/02-inserts/oracle-data-insert-from-SYGAL.CATEGORIE_PRIVILEGE-into-SYGAL.sql +++ /dev/null @@ -1,17 +0,0 @@ -set define off ; - -INSERT INTO /*SYGAL.*/CATEGORIE_PRIVILEGE (ID, CODE, LIBELLE, ORDRE) VALUES (21, 'ecole-doctorale', 'École doctorale', 100) ; -INSERT INTO /*SYGAL.*/CATEGORIE_PRIVILEGE (ID, CODE, LIBELLE, ORDRE) VALUES (23, 'faq', 'FAQ', 10) ; -INSERT INTO /*SYGAL.*/CATEGORIE_PRIVILEGE (ID, CODE, LIBELLE, ORDRE) VALUES (1, 'droit', 'Gestion des droits', 1) ; -INSERT INTO /*SYGAL.*/CATEGORIE_PRIVILEGE (ID, CODE, LIBELLE, ORDRE) VALUES (2, 'import', 'Import', 10) ; -INSERT INTO /*SYGAL.*/CATEGORIE_PRIVILEGE (ID, CODE, LIBELLE, ORDRE) VALUES (3, 'these', 'Thèse', 20) ; -INSERT INTO /*SYGAL.*/CATEGORIE_PRIVILEGE (ID, CODE, LIBELLE, ORDRE) VALUES (4, 'doctorant', 'Doctorant', 30) ; -INSERT INTO /*SYGAL.*/CATEGORIE_PRIVILEGE (ID, CODE, LIBELLE, ORDRE) VALUES (5, 'utilisateur', 'Utilisateur', 5) ; -INSERT INTO /*SYGAL.*/CATEGORIE_PRIVILEGE (ID, CODE, LIBELLE, ORDRE) VALUES (22, 'unite-recherche', 'Unité de Recherche', 200) ; -INSERT INTO /*SYGAL.*/CATEGORIE_PRIVILEGE (ID, CODE, LIBELLE, ORDRE) VALUES (24, 'validation', 'Validations', 25) ; -INSERT INTO /*SYGAL.*/CATEGORIE_PRIVILEGE (ID, CODE, LIBELLE, ORDRE) VALUES (44, 'fichier-divers', 'Fichier divers', 40) ; -INSERT INTO /*SYGAL.*/CATEGORIE_PRIVILEGE (ID, CODE, LIBELLE, ORDRE) VALUES (20, 'etablissement', 'Établissement', 90) ; -INSERT INTO /*SYGAL.*/CATEGORIE_PRIVILEGE (ID, CODE, LIBELLE, ORDRE) VALUES (50, 'indicateur', 'Indicateur & Statistiques', 250) ; -INSERT INTO /*SYGAL.*/CATEGORIE_PRIVILEGE (ID, CODE, LIBELLE, ORDRE) VALUES (47, 'fichier-commun', 'Dépôt de fichier commun (non lié à une thèse)', 50) ; -INSERT INTO /*SYGAL.*/CATEGORIE_PRIVILEGE (ID, CODE, LIBELLE, ORDRE) VALUES (19, 'substitution', 'Substitution de structures', 300) ; -INSERT INTO /*SYGAL.*/CATEGORIE_PRIVILEGE (ID, CODE, LIBELLE, ORDRE) VALUES (100, 'structure', 'Structures associées à SyGAL (écoles doctorales, établissements et unités de recherche)', 80) ; diff --git a/database/02-inserts/oracle-data-insert-from-SYGAL.DOMAINE_SCIENTIFIQUE-into-SYGAL.sql b/database/02-inserts/oracle-data-insert-from-SYGAL.DOMAINE_SCIENTIFIQUE-into-SYGAL.sql deleted file mode 100644 index 5239f2a584d87867c37539549bc9822c144abfed..0000000000000000000000000000000000000000 --- a/database/02-inserts/oracle-data-insert-from-SYGAL.DOMAINE_SCIENTIFIQUE-into-SYGAL.sql +++ /dev/null @@ -1,12 +0,0 @@ -set define off ; - -INSERT INTO /*SYGAL.*/DOMAINE_SCIENTIFIQUE (ID, LIBELLE) VALUES (1, 'Mathématiques et leurs interactions') ; -INSERT INTO /*SYGAL.*/DOMAINE_SCIENTIFIQUE (ID, LIBELLE) VALUES (2, 'Physique') ; -INSERT INTO /*SYGAL.*/DOMAINE_SCIENTIFIQUE (ID, LIBELLE) VALUES (3, 'Sciences de la terre et de l''univers, espace') ; -INSERT INTO /*SYGAL.*/DOMAINE_SCIENTIFIQUE (ID, LIBELLE) VALUES (4, 'Chimie') ; -INSERT INTO /*SYGAL.*/DOMAINE_SCIENTIFIQUE (ID, LIBELLE) VALUES (5, 'Biologie, médecine et santé') ; -INSERT INTO /*SYGAL.*/DOMAINE_SCIENTIFIQUE (ID, LIBELLE) VALUES (6, 'Sciences humaines et humanités') ; -INSERT INTO /*SYGAL.*/DOMAINE_SCIENTIFIQUE (ID, LIBELLE) VALUES (7, 'Sciences de la société') ; -INSERT INTO /*SYGAL.*/DOMAINE_SCIENTIFIQUE (ID, LIBELLE) VALUES (8, 'Sciences pour l''ingénieur') ; -INSERT INTO /*SYGAL.*/DOMAINE_SCIENTIFIQUE (ID, LIBELLE) VALUES (9, 'Sciences et technologies de l''information et de la communication') ; -INSERT INTO /*SYGAL.*/DOMAINE_SCIENTIFIQUE (ID, LIBELLE) VALUES (10, 'Sciences agronomiques et écologiques') ; diff --git a/database/02-inserts/oracle-data-insert-from-SYGAL.IMPORT_OBSERV-into-SYGAL.sql b/database/02-inserts/oracle-data-insert-from-SYGAL.IMPORT_OBSERV-into-SYGAL.sql deleted file mode 100644 index 7f8f145ba3124fcc0c7fceaaa7127755cb95db60..0000000000000000000000000000000000000000 --- a/database/02-inserts/oracle-data-insert-from-SYGAL.IMPORT_OBSERV-into-SYGAL.sql +++ /dev/null @@ -1,5 +0,0 @@ -set define off ; - -INSERT INTO /*SYGAL.*/IMPORT_OBSERV (ID, CODE, TABLE_NAME, COLUMN_NAME, OPERATION, TO_VALUE, DESCRIPTION, ENABLED) VALUES (6, 'RESULTAT_PASSE_A_ADMIS', 'THESE', 'RESULTAT', 'UPDATE', '1', 'Le résultat de la thèse passe à 1 (admis)', 1) ; -INSERT INTO /*SYGAL.*/IMPORT_OBSERV (ID, CODE, TABLE_NAME, COLUMN_NAME, OPERATION, TO_VALUE, DESCRIPTION, ENABLED) VALUES (9, 'CORRECTION_PASSE_A_FACULTATIVE', 'THESE', 'CORREC_AUTORISEE', 'UPDATE', 'facultative', 'Correction attendue passe à facultative', 1) ; -INSERT INTO /*SYGAL.*/IMPORT_OBSERV (ID, CODE, TABLE_NAME, COLUMN_NAME, OPERATION, TO_VALUE, DESCRIPTION, ENABLED) VALUES (10, 'CORRECTION_PASSE_A_OBLIGATOIRE', 'THESE', 'CORREC_AUTORISEE', 'UPDATE', 'obligatoire', 'Correction attendue passe à obligatoire', 1) ; diff --git a/database/02-inserts/oracle-data-insert-from-SYGAL.INFORMATION-into-SYGAL.sql b/database/02-inserts/oracle-data-insert-from-SYGAL.INFORMATION-into-SYGAL.sql deleted file mode 100644 index fef4c256fd42d1c63fe98a2dfbf465a61769acd4..0000000000000000000000000000000000000000 --- a/database/02-inserts/oracle-data-insert-from-SYGAL.INFORMATION-into-SYGAL.sql +++ /dev/null @@ -1,395 +0,0 @@ -set define off ; - -INSERT INTO /*SYGAL.*/INFORMATION (ID, TITRE, HISTO_CREATION, HISTO_CREATEUR_ID, HISTO_MODIFICATION, HISTO_MODIFICATEUR_ID, HISTO_DESTRUCTION, HISTO_DESTRUCTEUR_ID, CONTENU, PRIORITE, EST_VISIBLE) VALUES (61, 'Le doctorat', TO_DATE('2018-12-13 10:53:25', 'YYYY-MM-DD HH24:MI:SS'), 1/*SUBSTIT*/, TO_DATE('2019-12-05 16:07:14', 'YYYY-MM-DD HH24:MI:SS'), 1/*SUBSTIT*/, NULL, NULL, TO_CLOB('<h2>Normandie Université</h2> -<p><a href="http://www.normandie-univ.fr">Normandie Université</a> est une <a href="https://fr.wikipedia.org/wiki/Communaut%C3%A9_d%27universit%C3%A9s_et_%C3%A9tablissements">communauté d''universités et établissements</a> associant les établissements d’enseignement supérieur et de recherche de la <a href="https://fr.wikipedia.org/wiki/R%C3%A9gion_Normandie">région Normandie</a>. Le doctorat est devenu depuis 2015 une compétence propre de Normandie Université qui coordonne la politique doctorale en Normandie au nom de ses membres et associés. Pour cette raison, quel que soit l’établissement d’inscription, les doctorants reçoivent après leur soutenance le diplôme de docteur de Normandie Université. </p> -<p>Normandie Université regroupe :</p> -<ul> -<li>des établissements membres : -<ul> -<li><a href="http://recherche.unicaen.fr/etudes-doctorales/">Université de Caen Normandie</a></li> -<li><a href="http://www.univ-rouen.fr/">Université de Rouen Normandie</a></li> -<li><a href="http://www.univ-lehavre.fr">Université Le Havre Normandie</a></li> -<li><a href="https://www.insa-rouen.fr/" target="Institut national des sciences appliquées de Rouen">Institut national des sciences appliquées de Rouen Normandie</a></li> -<li><a href="https://www.ensicaen.fr/" target="École nationale supérieure d''ingénieurs de Caen">École nationale supérieure d''ingénieurs de Caen</a></li> -<li><a href="http://www.rouen.archi.fr/" target="École nationale supérieure d''architecture de Normandie">École nationale supérieure d''architecture de Normandie</a></li> -</ul> -</li> -<li>des établissements associés : -<ul> -<li><a href="https://www.unilasalle.fr">Institut polytechnique UniLaSalle</a></li> -<li><a href="http://www.esigelec.fr">École supérieure d''ingénieurs en génie électrique</a></li> -<li><a href="https://www.cesi.fr">CESI</a></li> -<li><a href="https://www.vet-alfort.fr">École nationale vétérinaire d''Alfort</a></li> -<li><a href="https://www.anses.fr">Agence nationale de sécurité sanitaire de l''alimentation</a></li> -<li><a href="http://www.esam-c2.fr">École supérieure d''Arts et Médias de Caen-Cherbourg</a></li> -<li><a href="http://esadhar.fr">École supérieure d''Art et design Le Havre-Rouen</a></li> -<li><a href="https://www.em-normandie.com">École de Management de Normandie</a></li> -<li>Centres Hospitaliers Universitaires de Rouen et Caen</li> -<li>Centres François Baclesse et Becquerel</li> -</ul> -</li> -<li>des établissements partenaires accueillant des doctorants: -<ul> -<li><a href="https://www.ganil-spiral2.eu">Grand accélérateur national d''ions lourds</a></li> -<li><a href="http://www.esitc-caen.fr">École supérieure d''ingénieurs des travaux de la construction</a></li> -</ul> -</li> -</ul> -<h2>Inscription en doctorat</h2> -<p>Si vous souhaitez vous inscrire en doctorat en Normandie, suivre les liens suivants en fonction de l’ établissement d’inscription :</p> -<ul> -<li><a href="https://www.insa-rouen.fr">INSA Rouen Normandie</a></li> -<li><a href="http://www.unicaen.fr">Université de Caen Normandie</a></li> -<li><a href="http://www.univ-rouen.fr">Université de Rouen Normandie</a></li> -<li><a href="https://www.univ-lehavre.fr">Université Le Havre Normandie</a></li> -</ul> -<h2>Le doctorat </h2> -<p>Le doctorat est le plus élevé des <a href="http://www.enseignementsup-recherche.gouv.fr/cid20185/le-doctorat.html">grades universitaires</a>. Il correspond au grade et titre de docteur (ou Dr) et est attes')||TO_CLOB('té par un diplôme national. Le doctorat est conféré généralement après trois années de recherche postérieures à l''obtention du grade de master ou équivalent et à la suite de la soutenance d''une thèse portant sur la réalisation de travaux scientifiques originaux. Le doctorat sanctionne « une formation par la recherche, à la recherche et à l''innovation » et « une expérience professionnelle de recherche ».</p> -<h2>La direction de thèse</h2> -<p>La direction de la thèse est assurée par une ou deux personnes habilitées à diriger des recherches (HDR) rattachées à une <a title="unité de recherche" href="../fichiers/telecharger/7710">Unité de Recherche de Normandie</a>. Exceptionnellement, une seconde co-direction de thèse peut être assurée par une personne du monde socio-économique non universitaire.</p> -<h2>Co-encadrement de thèse</h2> -<p>Le doctorant peut être co-encadré par une personne non habilitée à diriger des recherches. La demande de co-encadrement est validée par la commission recherche de votre établissement d''inscription après avis de l’Ecole Doctorale de rattachement.</p> -<h2><strong>Obligations légales</strong></h2> -<p> L’<a href="../../documents/autres/arrete-du-25-mai-2016.pdf">arrêté ministériel du 25 mai 2016</a> fixe le cadre national de la formation et les modalités conduisant à la délivrance du diplôme national de doctorat.</p> -<p> Parmi les obligations légales, rappelons :</p> -<ul> -<li> la signature, à l’inscription en thèse, de la charte du doctorat et de la convention de formation doctorale et la lecture du règlement intérieur de l’Ecole Doctorale de rattachement et le respect des clauses rapportées dans ces textes ;</li> -<li> la mise en place et la tenue d’un comité de suivi de thèse individuel (CSTI) ;</li> -<li> l’application du règlement intérieur et/ou des pratiques (sécurité, confidentialité …) de <a title="unité de recherche" href="../fichiers/telecharger/7710">l’Unité de Recherche </a>;</li> -<li> la rédaction d’un rapport annuel.</li> -</ul> -<h2>Le doctorat en Normandie</h2> -<p> En 2018, près de 1800 doctorants étaient inscrits en thèse en Normandie et 415 ont soutenu leur thèse selon la répartition disciplinaire suivante :</p> -<table> -<tbody> -<tr> -<td> </td> -<td> Inscrits</td> -<td> </td> -<td> Soutenances de thèse</td> -</tr> -<tr> -<td> Biologie Intégrative, Santé, Environnement (ED NBISE)</td> -<td> 321</td> -<td> </td> -<td> 85</td> -</tr> -<tr> -<td> Physique, Sciences de l''Ingénieur, Matériaux, Energie (ED PSIME)</td> -<td> 275</td> -<td> </td> -<td> 94</td> -</tr> -<tr> -<td> Mathématiques, Information, Ingénierie des Systèmes (ED MIIS)</td> -<td> 168</td> -<td> </td> -<td> 58</td> -</tr> -<tr> -<td> Normande de Chimie (ED NC)</td> -<td> &')||TO_CLOB('nbsp; 131</td> -<td> </td> -<td> 47</td> -</tr> -<tr> -<td> Homme, Société, Risque, Territoire (ED HSRT)</td> -<td> 286</td> -<td> </td> -<td> 51</td> -</tr> -<tr> -<td> Histoire, Mémoire, Patrimoine, Langage (ED HMPL)</td> -<td> 348</td> -<td> </td> -<td> 55</td> -</tr> -<tr> -<td> Droit Normandie (ED DN)</td> -<td> 136</td> -<td> </td> -<td> 16</td> -</tr> -<tr> -<td> Economie, Gestion Normandie (ED EGN)</td> -<td> 78</td> -<td> </td> -<td> 9</td> -</tr> -</tbody> -</table> -<p> Les doctorants sont inscrits dans un des quatre établissements normands habilités à inscrire en thèse. Quel que soit l’établissement d’inscription, les doctorants reçoivent après leur soutenance le diplôme de docteur de Normandie Université.</p> -<h2>Financement des thèses en Normandie</h2> -<p>Le financement des doctorants en Normandie s’établit comme suit : </p> -<table> -<tbody> -<tr> -<td>Allocation doctorale d’établissement / ministères / grands organismes</td> -<td>24 %</td> -</tr> -<tr> -<td>Allocation doctorale régionale / collectivités locales</td> -<td>25 %</td> -</tr> -<tr> -<td>ANR</td> -<td>3 %</td> -</tr> -<tr> -<td>Partenariat de recherche</td> -<td>2 %</td> -</tr> -<tr> -<td>CIFRE</td> -<td>6 %</td> -</tr> -<tr> -<td>Programmes européens</td> -<td>2 %</td> -</tr> -<tr> -<td>Financement pour doctorant en situation de handicap</td> -<td>1 %</td> -</tr> -<tr> -<td>Financement pour doctorants étrangers</td> -<td>10 %</td> -</tr> -<tr> -<td>Fondations et mécénat</td> -<td>1 %</td> -</tr> -<tr> -<td>Doctorants sans financement dédié</td> -<td>8 %</td> -</tr> -<tr> -<td>Doctorants ayant une activité professionnelle autre</td> -<td>18%</td> -</tr> -</tbody> -</table> -<h2>Bilan de la formation doctorale 2015-2019</h2> -<p>Le bilan détaillé de la formation doctorale pour la période 2015-2019 est téléchargeable à <a href="../fichiers/telecharger/4466">bilan 2015-2019</a>.</p> -<h2>Les maisons du doctorat</h2> -<p>Les services supports et conseil sur le doctorat (Ecoles Doctorales et gestion administrative de l’établissement d’inscription) sont regroupés au sein <strong>des maisons du doctorat</strong>. Si vous êtes un étudiant en master, vous pourrez y trouver des informations utiles sur l''accession en doctorat. Si vous êtes en doctorat, vous pourrez trouver au sein de ces maisons du doctorat les informations et conseils pour vous accompagner dans l''ensemble des étapes de votre parcours doctoral depuis l''inscription jusqu''à l''insertion professionnelle.</p> -<p>Des lieux de rencontre entre doctorants et des salles dédiées à la formation doctorale sont mis à disposition dans les locaux des maisons du doctorat ou à proximité.</p> -<p>Ces maisons du doctorat sont localisées sur les principaux sites universitaires normands :</p> -<ul> -<li>Site de Mont-Saint-Aignan, Université de Rouen Normand')||TO_CLOB('ie : <a href="../fichiers/telecharger/2200">1er étage, bâtiment Monod</a> ;</li> -<li>Site du Madrillet, Université de Rouen Normandie : <a href="../../documents/MaisonDoctorat/Plan maison Madrillet.pptx">hall, faculté des Sciences et Techniques</a> ;</li> -<li>Campus 1, Université de Caen Normandie : <a href="../fichiers/telecharger/2185">MRSH</a> ;</li> -<li>Campus 2, Université de Caen Normandie :<a href="../fichiers/telecharger/2186"> Bâtiment Sciences 3</a> ;</li> -<li>Université Le Havre Normandie : <a href="../fichiers/telecharger/2187">DirVED</a>.</li> -</ul> -<h2>Le devenir des docteurs</h2> -<p>Un suivi sur le devenir des docteurs normands est assuré par les observatoires des établissements qui interrogent régulièrement les docteurs sur leurs situations professionnelles 3 ans après la soutenance de thèse. Les résultats de ces enquêtes disponibles à <a href="../fichiers/telecharger/2189">devenir des docteurs normands</a>.</p> -<p>Egalement à votre disposition, le <a href="../fichiers/telecharger/2188">bilan de l''emploi des docteurs en 2018 en France</a>.</p>'), 100, 1) ; -INSERT INTO /*SYGAL.*/INFORMATION (ID, TITRE, HISTO_CREATION, HISTO_CREATEUR_ID, HISTO_MODIFICATION, HISTO_MODIFICATEUR_ID, HISTO_DESTRUCTION, HISTO_DESTRUCTEUR_ID, CONTENU, PRIORITE, EST_VISIBLE) VALUES (81, 'Les Écoles Doctorales', TO_DATE('2018-12-13 17:59:40', 'YYYY-MM-DD HH24:MI:SS'), 1/*SUBSTIT*/, TO_DATE('2019-12-02 10:01:56', 'YYYY-MM-DD HH24:MI:SS'), 1/*SUBSTIT*/, NULL, NULL, TO_CLOB('<h2> </h2> -<p>Les Écoles Doctorales ont été créées au début des années 90 avec pour mission l’accompagnement des doctorants vers leur insertion professionnelle à l''issue de leur formation doctorale. Les écoles doctorales regroupent des doctorants d’un même domaine scientifique pouvant être issus de plusieurs établissements.</p> -<p>Les missions des Écoles Doctorales sont :</p> -<ul> -<li>mettre en œuvre une politique d''admission des nouveaux doctorants, fondée sur des critères explicites et publics. Elles informent les étudiants sur les conditions d''accès, les compétences requises, les financements susceptibles d''être obtenus, la nature, la qualité et les taux d''activité professionnelle après l''obtention du doctorat ;</li> -<li>organiser les échanges scientifiques entre doctorants et leur communauté scientifique ;</li> -<li>proposer aux doctorants des activités de formation disciplinaire ;</li> -<li>assurer une démarche qualité de suivi de la formation en mettant notamment en place des comités de suivi de thèse individuel du doctorant ;</li> -<li>contribuer à une ouverture internationale.</li> -</ul> -<h2>Les Écoles Doctorales de Normandie Université</h2> -<p>La formation doctorale en Normandie s’articule autour de 8 Écoles Doctorales (ED) disciplinaires qui regroupent des unités de recherche rattachées aux Universités de Caen Normandie, Le Havre Normandie et de Rouen Normandie, des deux écoles d’ingénieurs l''ENSICAEN et l''INSA Rouen Normandie, ainsi que des établissements associés ou partenaires accueillant des doctorants : ESIGELEC, UniLaSalle, CESI, ESITC, GANIL et ENVA. Ces ED sont :</p> -<ul> -<li><a href="http://www.normandie-univ.fr/ed-98-droit-normandie-1069.kjsp?RH=1351093832209">ED 98 Droit Normandie (DN)</a></li> -<li><a href="http://www.normandie-univ.fr/ed-242-economie-gestion-normandie-1077.kjsp?RH=1351093832209">ED 242 Économie-Gestion Normandie (EGN)</a></li> -<li><a href="http://www.normandie-univ.fr/ednbise-497-normande-de-biologie-integrative-sante-environnement-1085.kjsp?RH=1351093832209">ED 497 Normande de Biologie Intégrative, Santé, Environnement (NBISE)</a></li> -<li><a href="http://www.normandie-univ.fr/ed-508-normande-de-chimie--1089.kjsp?RH=1351093832209">ED 508 Normande de Chimie (NC)</a></li> -<li><a href="http://www.normandie-univ.fr/edhsrt-556-homme-societes-risques-territoire-1061.kjsp?RH=1351093832209">ED 556 Homme, Sociétés, Risques, Territoire (HSRT)</a></li> -<li><a href="http://www.normandie-univ.fr/ed-558-hmpl-histoire-memoire-patrimoine-langage-1065.kjsp?RH=1351093832209">ED 558 Histoire, Mémoire, Patrimoine, Langage (HMPL)</a></li> -<li><a href="http://www.normandie-univ.fr/ed-590-miis-mathematiques-information-ingenierie-des-systemes-1081.kjsp?RH=1351093832209">ED 590 Mathématiques, Information, Ingénierie des Systèmes (MIIS)</a></li> -<li><a href="http://www.normandie-univ.fr/ed-591-psime-physique-sciences-de-l-ingenieur-materiaux-energie-1073.kjsp?RH=1351093832209">ED 591 Physique, Sciences de l’Ingénieur, Matériaux, Énergie (PSIME)</a></li> -</ul> -<p>Chaque école doctorale est gérée par un directeur et des directeurs-adjoints de site, assistés de gestionnaires et d’un conseil dans lequel siègent aussi des représentants des doctorants. Ce conseil définit les actions à mener et bénéficie d’un budget propre. Le fonctionnement de chaque École Doctorale est régi par un règlement intérieur.</p> -<h2>Le Collège des Écoles Doctorales (C')||TO_CLOB('ED)</h2> -<p>La politique doctorale est une compétence propre de Normandie Université. En conséquence, elle assure la coordination des Écoles Doctorales via une composante interne en charge de la formation doctorale en Normandie : le Collège des Écoles Doctorales (CED). Ce collège est un lieu de concertation qui rassemble les directions Recherche des établissements, les directions des 8 Écoles Doctorales et des représentants des doctorants.</p> -<p>Les missions du Collège des Écoles Doctorales sont :</p> -<ul> -<li>harmoniser les politiques doctorales des établissements normands ;</li> -<li>communiquer la politique doctorale de Normandie Université vers les étudiants et le monde socio-économique ;</li> -<li>consolider les liens entre les ED et le tissu économique ;</li> -<li>proposer aux doctorants une formation transversale favorisant l''interdisciplinarité et l''acquisition d''une culture scientifique élargie en veillant à ce que chaque doctorant reçoive une formation à l''éthique de la recherche, à l''intégrité scientifique et aux enjeux de la diffusion de la culture scientifique, technique et industrielle ;</li> -<li>organiser des événements transversaux de grande ampleur : cérémonie publique de remise du diplôme de docteur, Ma Thèse en 180 secondes, les Doctoriales, etc. ;</li> -<li>enquêter sur le devenir des docteurs après leur soutenance de thèse.</li> -</ul>'), 50, 1) ; -INSERT INTO /*SYGAL.*/INFORMATION (ID, TITRE, HISTO_CREATION, HISTO_CREATEUR_ID, HISTO_MODIFICATION, HISTO_MODIFICATEUR_ID, HISTO_DESTRUCTION, HISTO_DESTRUCTEUR_ID, CONTENU, PRIORITE, EST_VISIBLE) VALUES (82, 'Guide de la thèse', TO_DATE('2018-12-13 18:00:01', 'YYYY-MM-DD HH24:MI:SS'), 1/*SUBSTIT*/, TO_DATE('2020-01-28 17:37:47', 'YYYY-MM-DD HH24:MI:SS'), 1/*SUBSTIT*/, NULL, NULL, TO_CLOB('<h2>Inscriptions</h2> -<p>Sauf cas particuliers (contrats CIFRE, contrats industriels), elles ont lieu à partir de juillet et jusqu’à fin octobre. Tout dossier d’inscription devant être signé par les directeurs ou directrices de thèse, de l’Unité de recherche concernée et de l’Ecole doctorale, il convient de prévoir un délai suffisant pour recueillir les signatures nécessaires avant de déposer le dossier à la Maison du doctorat pour autorisation d''inscription de la direction de l''établissement concerné.</p> -<p><strong>Les demandes de co-direction de thèse, de co-encadrement et de confidentialité de la thèse se font en général lors de l’étape d’inscription en thèse. </strong>Le doctorant doit également signer la charte du doctorat et la convention de formation doctorale. Cette convention précise, en accord avec les directions de thèse et de l''unité de recherche, le déroulement de la thèse et son environnement matériel. Une fois l’inscription terminée (administrative et pédagogique), le doctorant peut accéder à sa page personnelle de l’application SyGAL <em>via</em> son espace numérique de travail (ENT). Les étapes suivantes de la thèse sont gérées <em>via</em> cette application.</p> -<h2>Durée de la thèse</h2> -<p>La durée de la thèse est de trois ans pour les doctorants. Il est toutefois possible après accord de l''Ecole Doctorale et de la direction de l''établissement de prolonger cette durée : </p> -<ul> -<li> -<p>d’une année dite dérogatoire pour les doctorants contractuels, soit quatre années de thèse au total.</p> -</li> -<li> -<p>de trois années dérogatoires pour les autres doctorants, soit six années de thèse au total.</p> -</li> -</ul> -<h2>Les associations et représentants des doctorants</h2> -<p>Les doctorants sont représentés dans les différents conseils des établissements pour défendre leurs droits et être force de proposition. Les associations des doctorants offrent un autre espace de construction du doctorat en Normandie et un lieu de rencontre entre doctorants issus de différents domaine scientifiques. Les coordonnées sont:</p> -<p> - Les représentants des doctorants au sein des Ecoles Doctorales : <strong>noms et coordonnées indiqués sur la page web de l’Ecole Doctorale</strong> dans la rubrique « les écoles doctorales de Normandie université ». Ces représentants sont de droit invités au Conseil des Ecoles Doctorales.</p> -<p>- Les représentants des doctorants au Conseil Académique de Normandie Université:</p> -<p> - Yohan MARC, <a href="mailto:yohan.marc@etu.univ-rouen.fr">yohan.marc@etu.univ-rouen.fr</a></p> -<p> - Aimie LE SAUX, <a href="mailto:aimie.le-saux@etu.univ-lehavre.fr">aimie.le-saux@etu.univ-lehavre.fr</a></p> -<p> - L''association OPTIC</p> -<h2> <strong>Le contrat doctoral</strong></h2> -<p>Mis en place en 2009, <strong>le contrat doctoral </strong>permet au doctorant de se consacrer pleinement à ses travaux de recherche, tout en apportant toutes les garanties sociales d’un <strong>contrat de travail de droit public</strong>. <strong>D’une durée de trois ans</strong>, il est accordé et géré par un établissement universitaire, une école (INSA, UniLaSalle, ESIGELEC…) ou un grand organisme de recherche (CNRS, INSERM).</p> -<p>Cet établi')||TO_CLOB('ssement, signataire de ce contrat doctoral est en conséquence <strong>l’employeur du doctorant</strong>.</p> -<p>Les fonds mobilisés pour financer un contrat doctoral peuvent provenir de diverses origines : établissement, grand organisme de recherche, conseil régional, association, fondation, etc ...</p> -<p>Le contrat doctoral fixe également une rémunération minimale pour une activité de recherche. Il est possible d’obtenir un avenant à ce contrat en cas d''activités complémentaires accordées annuellement.</p> -<p>Ces activités complémentaires sont :</p> -<p><strong>- une mission d’enseignement</strong><strong> </strong></p> -<p><strong>- une mission de</strong><strong> diffusion</strong> <strong>de la culture scientifique et technique</strong> : rédaction d''articles, journalisme scientifique, mise en place et animation d''ateliers pédagogiques et d’événements publics ...</p> -<p><strong>- une mission de valorisation</strong> <strong>de résultats de la recherche</strong> : promotion de la technologie, prospection, étude sur le dépôt d''un brevet, activité de veille technologique, recherche d''applications pour une technologie...</p> -<p><strong>- une mission doctorale d’expertise</strong> : analyse juridique, étude de marché ou de faisabilité, conseil, recherches bibliographiques, expérimentations, enquêtes, accompagnement de projet...</p> -<p>Les trois premières missions peuvent être proposées aux doctorants après appel à candidature par les établissements d’inscription en thèse selon des procédures propres à chaque université ou école.</p> -<p>Concernant la mission doctorale d’expertise, le doctorant ou l’Unité de Recherche peut être à l’origine du contact. La demande peut également émaner d’une entreprise, association ou autre partenaire qui informe alors les pôles doctoraux de leur volonté d’avoir recours à des compétences d’un doctorant. Les pôles doctoraux contactent alors les doctorants pouvant potentiellement répondre à cette demande. Pour plus d’informations, consultez <a title="mission doctorale expertise" href="../fichiers/telecharger/2194">mission doctorale d’expertise</a>.</p> -<h2><strong>Les vacations</strong></h2> -<p>Les missions citées ci-dessus peuvent être accordés annuellement à tous les doctorants, y compris les doctorants sans contrat doctoral s’ils sont âgés de moins de 28 ans au 1er septembre de l’année Universitaire ou à des doctorants ayant une activité professionnelle.</p> -<p>Ces missions peuvent vous être proposées par un établissement, une UFR ou un département d’enseignement. <strong>Vous devrez signer un contrat d’</strong><strong>agent temporaire vacataire</strong> indiquant la mission confiée et le nombre d’heures à assurer.</p> -<h2><strong>La formation Doctorale</strong></h2> -<p>Le cœur de votre doctorat est votre projet de thèse mené au sein d’un laboratoire labellisé et sous la responsabilité d’un directeur de thèse habilité. Vous allez ainsi acquérir et développer des compétences grâce aux activités que vous allez mener tout au long de votre projet de recherche. <strong>L’objectif de la formation doctorale est de compléter cette formation dite « à la recherche et par la recherche »</strong> pour vous préparer à la poursuite de votre parcours professionnel. ')||TO_CLOB('Il est donc nécessaire que les modules de formation doctorale que vous allez choisir soit en cohérence avec votre projet professionnel.</p> -<p>L’offre de formation est ouverte sur les métiers de demain et elle s’adresse à tous les doctorants quel que soit leur domaine scientifique. Elle est composée :</p> -<p>- <strong>De modules et parcours mutualisés mis en place et gérés par le CED</strong>, transverses à l''ensemble des secteurs de recherche des ED et ouverts à tous les doctorants. Pour l’offre 2019-2020, consultez <a href="../fichiers/telecharger/4566">offre de formation 2019-2020</a> ;</p> -<p>- <strong>De modules disciplinaires mis en place et gérés par chaque ED</strong> et répondant aux besoins spécifiques de ses doctorants et présentés dans leur Règlement Intérieur (voir <strong>règlement intérieur</strong> accessible à la page web de l’ED dans la rubrique « les écoles doctorales de Normandie université »). <strong>Attention, des éventuelles obligations de suivi</strong> (formation, module, volume horaire …) ont été fixées pour chaque ED et sont également détaillées dans leur Règlement Intérieur.</p> -<h2>Comité de suivi (pour les doctorants inscrits depuis 2016)</h2> -<p>Chaque doctorant doit avoir un comité de suivi pour sa thèse. Etabli dès la première année, ce comité de suivi est là pour accompagner le déroulement de la thèse et vérifier que tout se passe bien. Les membres du comité ne pourront pas être pré-rapporteurs au moment de l’arrivée de la thèse à soutenance. Les compositions de ces comités et les modalités spécifiques à chaque discipline sont <strong>précisées dans les règlements Intérieurs de votre Ecole Doctorale de rattachement</strong> (accessible <em>via</em> le lien de votre Ecole Doctorale, page d''accueil "Ecoles Doctorales"). Pour prendre connaissance de ce règlement intérieur, allez à la page "Ecoles Doctorales", puis cliquez sur le lien de votre Ecole Doctorale. Vous accéderez ainsi à sa page d''information et à son règlement intérieur.</p> -<h2>Soutenance de thèse</h2> -<p>La demande de soutenance doit être <strong>déposée</strong> <strong>et validée</strong> sur SyGAL <strong>au moins deux mois avant la date de soutenance. </strong>Les étapes suivantes de la soutenance sont ensuite entièrement conduites <em>via</em> cette application (<em><strong>voir page d''accueil "guide d''utilisation"</strong></em>).</p> -<p>La soutenance est autorisée par le chef d''établissement après <strong>réception des deux rapports favorables</strong> à une soutenance orale des travaux. <strong>Cette soutenance est publique</strong> sauf demande de confidentialité déposée préalablement par l''Unité de Recherche.</p> -<h2><strong>Dépôt du fichier de thèse</strong></h2> -<p><strong>Un mois au plus tard avant la soutenance de thèse et après validation de la demande de soutenance par le chef de l''établissement d’inscription</strong>, le doctorant doit <strong>déposer son manuscrit de thèse</strong> sous forme numérique dans l''application SyGAL et effectuer ses formalités de dépôt avec l''aide des services des bibliothèques universitaires (<em><strong>voir page d''accueil "guide d''utilisation"</strong></em>).</p> -<p></p> -<h2>Le')||TO_CLOB(' label Doctorat Européen</h2> -<p>Ce dispositif permet d’ajouter au doctorat la reconnaissance d’une dimension européenne. Le doctorat européen est un label qui peut être décerné sur demande en supplément du diplôme de doctorat lorsque la thèse a été préparée, en partie, lors d’un séjour dans un pays de l’Union Européenne élargie. Le terme « Union Européenne élargie » s’entend au sens des pays membres de l’Union Européenne étendu aux autres états de libre échange : Suisse, Norvège, Islande et Liechtenstein.</p> -<p> Pour l''obtention de ce label, les quatre conditions suivantes doivent remplies :</p> -<ol> -<li>Le doctorat doit avoir été préparé, en partie, lors d’un séjour d’au moins trois mois dans un autre État européen ;</li> -<li>L’autorisation de soutenance est accordée au vu de rapports rédigés par au moins deux professeurs ou assimilés appartenant à deux établissements d’enseignement supérieur de deux Etats européens autres que celui dans lequel le doctorat est soutenu ;</li> -<li>Un membre au moins du jury doit appartenir à un établissement d’enseignement Supérieur d’un Etat européen autre que celui dans lequel le doctorat est soutenu ;</li> -<li>Une partie de la soutenance doit être effectuée dans une langue nationale européenne autre que la (ou les) langue(s) nationale(s) du pays où est soutenu le doctorat.</li> -</ol> -<h2>Changement de direction de thèse au cours de la thèse</h2> -<p>Tout doctorant souhaitant changer de directeur ou de co-directeur de thèse doit impérativement remplir un <a href="../fichiers/telecharger/2201">formulaire de changement de direction de thèse</a>.</p> -<h2>Abandon de thèse</h2> -<p>Tout doctorant souhaitant abandonner définitivement sa thèse doit impérativement remplir un <a href="../fichiers/telecharger/2202">formulaire de déclaration d’abandon de thèse</a>.</p> -<h2>Suspension de thèse</h2> -<p>Une suspension de thèse peut est accordée de droit à tout doctorant ayant bénéficié d''un congé de maternité, de paternité, d''un congé d''accueil d’un l''enfant ou d''adoption, d''un congé parental, d''un congé de maladie d''une durée supérieure à quatre mois consécutifs ou d''un congé d''une durée au moins égale à deux mois faisant suite à un accident de travail. La durée de la préparation du doctorat est prolongée si l''intéressé formule une<a title="prolonagtion de thèse" href="../fichiers/telecharger/2198"> demande de prolongation de thèse</a> dans le cas d’une suspension.</p> -<h2>Période de césure</h2> -<p>Conformément à l’arrêté de 18 mai 2018, un doctorant peut se voir accorder une période de césure insécable de 6 à 12 mois et ceci s’il peut attester d’une des situations suivantes :</p> -<ul> -<li>une formation dans un domaine différent de celui de la formation dans laquelle l''étudiant est inscrit ; </li> -<li>une expérience en milieu professionnel en France ou à l''étranger ; </li> -<li>un engagement de service civique en France ou à l''étranger, qui peut notamment prendre la forme d''un volontariat de solidarité internationale, d''un volontariat international en administration ou en entreprise ou d''un servic')||TO_CLOB('e volontaire européen ; </li> -<li>un projet de création d''activité en qualité d''étudiant-entrepreneur.</li> -</ul> -<p>Comme l’autorise l’arrêté du 25 mai 2016, le doctorant pourra ou non maintenir son inscription dans son établissement. Par contre, si cette période est inférieure à une année, le doctorant devra se réinscrire pour l’année complète lors de sa reprise d’activité. Durant cette période, le doctorant suspend temporairement sa formation et son travail de recherche, mais peut demeurer inscrit, s’il le souhaite, au sein de son établissement. Cette période n’est pas comptabilisée dans la durée de la thèse. L’établissement garantit au doctorant qui suspend sa scolarité son inscription au sein de la formation doctorale à la fin de la période de césure.</p> -<p>Tout doctorant souhaitant bénéficier d’une période de césure doit impérativement remplir un formulaire de <a title="demande de césure" href="../fichiers/telecharger/2193">demande d’une période de césure</a>.</p> -<h2> </h2> -<p> </p>'), 15, 1) ; -INSERT INTO /*SYGAL.*/INFORMATION (ID, TITRE, HISTO_CREATION, HISTO_CREATEUR_ID, HISTO_MODIFICATION, HISTO_MODIFICATEUR_ID, HISTO_DESTRUCTION, HISTO_DESTRUCTEUR_ID, CONTENU, PRIORITE, EST_VISIBLE) VALUES (162, 'Guide d''utilisation de SyGAL', TO_DATE('2019-11-13 08:51:11', 'YYYY-MM-DD HH24:MI:SS'), 1/*SUBSTIT*/, TO_DATE('2020-01-25 11:40:18', 'YYYY-MM-DD HH24:MI:SS'), 1/*SUBSTIT*/, NULL, NULL, TO_CLOB('<p>L’application SyGAL « Système de Gestion et d’Accompagnement doctoraL » vous permet de prendre connaissance de <strong>la politique doctorale en Normandie</strong> et donne accès <strong>à la liste des doctorants et docteurs normands</strong>. SyGAL offre également aux doctorants et leurs encadrants un outil interactif avec les services des pôles doctoraux et les Écoles Doctorales en permettant une <strong>gestion dématérialisée des différentes étapes de la thèse</strong>.</p> -<h2><strong>Se connecter à SyGAL </strong></h2> -<ul> -<li>en tapant le mot « SyGAL » sur un moteur de recherche ;</li> -<li><em>via</em> l’onglet SyGAL sur l’ENT (rubrique formation) de l’Université de Rouen Normandie.</li> -</ul> -<p> <strong>La page d’accueil vous propose :</strong></p> -<ul> -<li>des informations sur le doctorat en Normandie ;</li> -<li>des informations sur les Écoles Doctorales normandes ;</li> -<li>un guide de la thèse ;</li> -<li>un guide d''utilisation de SyGAL ;</li> -<li>des informations sur les actualités doctorales et les ressources vidéo sur le doctorat en Normandie.</li> -</ul> -<p><strong>Après avoir été identifiés <em>via</em> vos ide</strong><strong>ntifiants académiques, vous pouvez accéder aux thèses passées ou en cours</strong>.<strong> Les données proposées sont :</strong></p> -<ul> -<li>la situation de la thèse : soutenue, abandonnée, transférée ou en cours ;</li> -<li>l’établissement d’inscription ;</li> -<li>l’École Doctorale de rattachement (Les ED passées sont indiquées comme étant fermées);</li> -<li>l''Unité de Recherche de rattachement (Les Unités de Recherche passées sont indiquées comme étant fermées);</li> -<li>la direction de thèse ;</li> -<li>le financement de la thèse ;</li> -<li>l’année (civile ou académique) d’inscription ;</li> -<li>l’année de soutenance ;</li> -<li>un onglet de recherche par mot-clé ;</li> -<li>une fiche descriptive sur chaque thèse.</li> -</ul> -<p><strong>Attention, les données ne sont complètes que pour les inscriptions postérieures à 2014</strong>. </p> -<h2>Les acteurs de la formation doctorale</h2> -<p>Selon votre statut, vous disposer de<strong> droits</strong> <strong>associés</strong> dans SyGAL :</p> -<ul> -<li>doctorant ;</li> -<li>directeur de thèse ;</li> -<li>directeur de laboratoire ;</li> -<li>directeur d’École Doctorale ;</li> -<li>gestionnaire des maisons du doctorat ;</li> -<li>membre des bibliothèques ;</li> -<li>membre des observatoires.</li> -</ul> -<p><strong>SyGAL vous permet une extraction des données</strong> <strong>relatives aux docteurs et doctorants que vous aurez sélectionnés </strong>(clicker sur<strong> "Exporter ces thèses au format CSV</strong>" en fin de listing). Hormis les données listées ci-dessus, vous seront également indiquées les informations sur les diplômes d''accès en thèse, les co-tutelles, la durée des thèses et les dates d''abandon de thèse.</p> -<p><strong>SyGAL vous propose une gestion dématérialisée des différentes étapes de la thèse</strong>. À votre connexion, vous serez identifiés et votre statut (doctorant, directeur de thèse, etc.) sera indiqué sur la page d’accueil à droite dans le bandeau supérieur.</p> -<p><strong>Attention, vous pouvez être identifiés so')||TO_CLOB('us plusieurs statuts </strong>(par exemple directeur de laboratoire<strong> et </strong>directeur de thèse, etc.). Vous devrez sélectionner dans le bandeau supérieur le statut correspondant à votre requête.</p> -<p>Pour le doctorant, il pourra lui être demandé, à la première connexion, un mel ou courriel personnel pour les contacts après la soutenance. Ce mel ou courriel privé n’apparaitra pas sur sa page personnelle.</p> -<p>En cliquant sur l''onglet "soutenance", les <strong>directeurs de thèse et de laboratoire peuvent accéder aux demandes en cours des doctorants</strong> sous leur responsabilité.</p> -<h2><strong>Soutenance de thèse</strong></h2> -<p>La demande de soutenance de thèse doit être validée sur SyGAL<strong> impérativement deux mois avant la date prévisionnelle de soutenance </strong>selon la procédure suivante (prévoir un délai pour permettre la validation administrative dans les délais impartis). L''ensemble des étapes est résumé dans le document <a href="../fichiers/telecharger/8688">planning de soutenance de thèse:</a></p> -<h3><strong>Date et lieu de la soutenance. Composition du jury</strong></h3> -<p>La date de soutenance, le lieu, les noms des deux rapporteurs et la composition du jury sont décidés conjointement par le directeur de thèse et le doctorant. Les rapporteurs doivent être <strong>habilités à diriger des recherches (ou des scientifiques de renom pour des étrangers) et extérieurs à Normandie Université</strong>. Un professeur ou MCF-HDR émérite peut être rapporteur.</p> -<p>Dans le cas de travaux impliquant des personnes du monde socio-économique, un troisième rapporteur, reconnu pour ses compétences dans le domaine, peut être proposé. Dans le cas d''une thèse conduisant à un label Européen, la thèse doit être évaluée par 3 rapporteurs sont dont 2 membres de l''Union Européenne.</p> -<p>Les rapporteurs ne doivent pas avoir des liens familiaux avec le doctorant ou le directeur de thèse et ne pas avoir pris part <strong>aux travaux de la thèse ni à des publications co-signées avec le doctorant pendant les 5 dernières années</strong>.</p> -<p>Le jury doit être composé de quatre à huit membres, dont au moins 50% extérieurs à Normandie Université. Au moins la moitié des membres doivent être professeurs ou assimilés (un maître de conférences habilité à diriger des recherches n’entre pas dans cette catégorie). La parité doit être autant que possible recherchée, mais en cas d’impossibilité chaque jury doit comporter au moins un homme et une femme.</p> -<p><strong>À titre exceptionnel,</strong> et à l''exception de son président, un membre du jury peut participer à la soutenance <em>via</em> la visioconférence. Dans ce cas, ce membre de jury devra remplir la <strong>demande de délégation de signature</strong> <strong>au président du jury</strong> qui vous sera proposé.</p> -<p>Concernant les demandes de délocalisation du lieu de soutenance et de délégation de signature pour un membre du jury en visio-conférence, <strong>télécharger le formulaire </strong>qui vous sera proposé.</p> -<h3>Informations sur la thèse</h3> -<p><strong>Indiquez le cas échéant les informations suivantes :</strong></p> -<ul> -<li>label européen : si oui, cliquer sur « <em>demande de label européen</em> » ;</')||TO_CLOB('li> -<li>thèse en anglais : en fonction de la demande, cliquer sur<em> « manuscrit rédigé en anglais » et/ou « soutenance défendue en anglais » </em>;</li> -<li>confidentialité de la thèse : si oui, cliquer sur <em>« soutenance en huis clos » </em>;</li> -<li>titre de thèse : indiquez le titre final de la thèse.</li> -</ul> -<p>Concernant les demandes de label européen, de thèse en anglais et de confidentialité de la thèse, <strong>télécharger le formulaire </strong>qui vous sera proposé.</p> -<h3><strong>Fichiers associés à la demande</strong></h3> -<p>Déversez ensuite dans l''application :</p> -<p><strong>Les justificatifs suivants, si vous avez opté pour ces demandes lors des étapes précédentes :</strong></p> -<ul> -<li>la demande de délocalisation de la soutenance de thèse si celle-ci ne se déroule pas dans les locaux de l''établissement d''inscription ;</li> -<li>la délégation de signature pour un membre du jury assistant à la soutenance par visio-conférence ;</li> -<li>les documents relatifs à la reconnaissance du label européen ;</li> -<li>la demande de thèse en anglais : La thèse peut être rédigée et/ou soutenue en anglais après accord de l’établissement d’inscription. Pour la rédaction en anglais, <strong>cette demande ne concerne pas les articles et revues en langue anglaise insérés dans le manuscrit</strong>. L’autorisation est accordée si le manuscrit est accompagné d’un résumé long composé d''au moins 10 pages ou 25 000 caractères ;</li> -<li>la demande de confidentialité de la thèse.</li> -</ul> -<p><strong>Les justificatifs pour les membres extérieurs :</strong></p> -<ul> -<li>copie de l’HDR pour un cadre B HDR (maître de conférences, chargé de recherche) extérieur à Normandie Université ;</li> -<li>copie de l’éméritat pour un professeur émérite ;</li> -<li>un CV succinct pour les professeurs ou assimilés étrangers.</li> -</ul> -<h3><strong>Validation de la proposition de soutenance</strong></h3> -<p>Lorsque la composition du jury est finalisée et les documents demandés déposés sur le site, le directeur de thèse valide la demande puis celle-ci est successivement transmise pour accord :</p> -<ul> -<li>au directeur de l’Unité de Recherche ;</li> -<li>au directeur de l’École Doctorale ;</li> -<li>à la maison du doctorat ;</li> -<li>au chef d’établissement d’inscription pour signature de l’autorisation de soutenance sur fourniture des rapports.</li> -</ul> -<p>En cas de <strong>refus justifié</strong>, le processus s’arrête et doit être repris dès la première étape.</p> -<p><strong>La composition du jury et les modalités de soutenance validées</strong>, le doctorant <strong>doit procéder au dépôt de son manuscrit de thèse</strong><strong> à la bibliothèque universitaire</strong> au plus tard un mois avant la date de soutenance (voir chapitre suivant).</p> -<h3><strong>Rapports de thèse</strong></h3> -<p>Les rapporteurs reçoivent par mel ou courriel <strong>une déclaration d’impartialité</strong> suivie de la demande <strong>du rapport de thèse</strong>.</p> -<p>Les rapporteurs doivent transmettre <strong><em>via</em> le lien indiqué</strong> leurs rapports écrits, datés et signés <strong>deux')||TO_CLOB(' semaines avant la date de soutenance</strong>. Le chef d’établissement d’inscription autorise ou non la soutenance au vu des rapports écrits. Une fois la soutenance autorisée, les rapports et convocations sont transmis aux membres du jury. Le directeur de thèse reçoit les documents de soutenance à faire compléter par le président du jury.</p> -<h3><strong>Soutenance de thèse</strong></h3> -<p>Les membres du jury désignent parmi eux un président qui doit être nécessairement <strong>un professeur ou assimilé à l’exception du directeur de thèse</strong>. Un rapporteur peut présider un jury de thèse.</p> -<p>À titre exceptionnel, et à l''exception de son président, les membres du jury peuvent participer à la soutenance <em>via</em> la visioconférence.</p> -<p>Suite à la soutenance, le <strong>président rédige un rapport</strong> transmis à l’établissement d’inscription.<strong> L’attestation de réussite est délivrée après vérifications des éventuelles corrections demandées par le jury et du dépôt définitif de la thèse à la bibliothèque universitaire</strong>. Le diplôme est ensuite <strong>délivré</strong> au candidat après signature du président de Normandie Université et du recteur d’académie.</p> -<h2><strong>Dépôt de thèse</strong></h2> -<p>Pour procéder au dépôt de thèse, suivre la procédure décrite dans <a href="../fichiers/telecharger/8768">dépôt de thèse</a>.</p> -<p> </p> -<p> </p>'), 200, 1) ; diff --git a/database/02-inserts/oracle-data-insert-from-SYGAL.NATURE_FICHIER-into-SYGAL.sql b/database/02-inserts/oracle-data-insert-from-SYGAL.NATURE_FICHIER-into-SYGAL.sql deleted file mode 100644 index d3447802295cac680f42fe88fe269bb90333e641..0000000000000000000000000000000000000000 --- a/database/02-inserts/oracle-data-insert-from-SYGAL.NATURE_FICHIER-into-SYGAL.sql +++ /dev/null @@ -1,13 +0,0 @@ -set define off ; - -INSERT INTO /*SYGAL.*/NATURE_FICHIER (ID, CODE, LIBELLE) VALUES (1, 'THESE_PDF', 'Thèse au format PDF') ; -INSERT INTO /*SYGAL.*/NATURE_FICHIER (ID, CODE, LIBELLE) VALUES (2, 'FICHIER_NON_PDF', 'Fichier non PDF joint à une thèse (ex: vidéo)') ; -INSERT INTO /*SYGAL.*/NATURE_FICHIER (ID, CODE, LIBELLE) VALUES (3, 'PV_SOUTENANCE', 'PV de soutenance') ; -INSERT INTO /*SYGAL.*/NATURE_FICHIER (ID, CODE, LIBELLE) VALUES (4, 'RAPPORT_SOUTENANCE', 'Rapport de soutenance') ; -INSERT INTO /*SYGAL.*/NATURE_FICHIER (ID, CODE, LIBELLE) VALUES (5, 'DEMANDE_CONFIDENT', 'Demande de confidentialité') ; -INSERT INTO /*SYGAL.*/NATURE_FICHIER (ID, CODE, LIBELLE) VALUES (6, 'PROLONG_CONFIDENT', 'Demande de prolongation de confidentialité') ; -INSERT INTO /*SYGAL.*/NATURE_FICHIER (ID, CODE, LIBELLE) VALUES (7, 'PRE_RAPPORT_SOUTENANCE', 'Pré-rapport de soutenance') ; -INSERT INTO /*SYGAL.*/NATURE_FICHIER (ID, CODE, LIBELLE) VALUES (8, 'CONV_MISE_EN_LIGNE', 'Convention de mise en ligne') ; -INSERT INTO /*SYGAL.*/NATURE_FICHIER (ID, CODE, LIBELLE) VALUES (9, 'AVENANT_CONV_MISE_EN_LIGNE', 'Avenant à la convention de mise en ligne') ; -INSERT INTO /*SYGAL.*/NATURE_FICHIER (ID, CODE, LIBELLE) VALUES (22, 'COMMUNS', 'Fichier commun (ex: modèle d''avenant à la convention de MEL)') ; -INSERT INTO /*SYGAL.*/NATURE_FICHIER (ID, CODE, LIBELLE) VALUES (21, 'DIVERS', 'Fichier divers') ; diff --git a/database/02-inserts/oracle-data-insert-from-SYGAL.PRIVILEGE-into-SYGAL.sql b/database/02-inserts/oracle-data-insert-from-SYGAL.PRIVILEGE-into-SYGAL.sql deleted file mode 100644 index ca983031cbaad36bd4116bc5e56d1a8c34f00b5e..0000000000000000000000000000000000000000 --- a/database/02-inserts/oracle-data-insert-from-SYGAL.PRIVILEGE-into-SYGAL.sql +++ /dev/null @@ -1,77 +0,0 @@ -set define off ; - -INSERT INTO /*SYGAL.*/PRIVILEGE (ID, CATEGORIE_ID, CODE, LIBELLE, ORDRE) VALUES (343, 47, 'televerser', 'Téléversement de fichier commun non lié à une thèse particulière (ex: PV de soutenance)', 10) ; -INSERT INTO /*SYGAL.*/PRIVILEGE (ID, CATEGORIE_ID, CODE, LIBELLE, ORDRE) VALUES (344, 47, 'telecharger', 'Téléchargement de fichier commun non lié à une thèse particulière (ex: PV de soutenance)', 20) ; -INSERT INTO /*SYGAL.*/PRIVILEGE (ID, CATEGORIE_ID, CODE, LIBELLE, ORDRE) VALUES (425, 4, 'afficher-mail-contact', 'Afficher le mail de contact', 20) ; -INSERT INTO /*SYGAL.*/PRIVILEGE (ID, CATEGORIE_ID, CODE, LIBELLE, ORDRE) VALUES (273, 50, 'edition', 'Édition des indicateurs', 40) ; -INSERT INTO /*SYGAL.*/PRIVILEGE (ID, CATEGORIE_ID, CODE, LIBELLE, ORDRE) VALUES (35, 50, 'consultation-statistique', 'Consultation des statistique', 1000) ; -INSERT INTO /*SYGAL.*/PRIVILEGE (ID, CATEGORIE_ID, CODE, LIBELLE, ORDRE) VALUES (15, 5, 'create_from_individu', 'Créer un utilisateur ''local'' à partir d''un utilisateur', 100) ; -INSERT INTO /*SYGAL.*/PRIVILEGE (ID, CATEGORIE_ID, CODE, LIBELLE, ORDRE) VALUES (341, 44, 'televerser', 'Téléverser ou supprimer un fichier divers, non lié à une thèse', 100) ; -INSERT INTO /*SYGAL.*/PRIVILEGE (ID, CATEGORIE_ID, CODE, LIBELLE, ORDRE) VALUES (342, 44, 'telecharger', 'Télécharger un fichier divers, non lié à une thèse', 200) ; -INSERT INTO /*SYGAL.*/PRIVILEGE (ID, CATEGORIE_ID, CODE, LIBELLE, ORDRE) VALUES (161, 24, 'version-papier-corrigee', 'Validation de la remise de la version papier corrigée', 4300) ; -INSERT INTO /*SYGAL.*/PRIVILEGE (ID, CATEGORIE_ID, CODE, LIBELLE, ORDRE) VALUES (81, 3, 'telechargement-fichier', 'Téléchargement de fichier déposé', 3060) ; -INSERT INTO /*SYGAL.*/PRIVILEGE (ID, CATEGORIE_ID, CODE, LIBELLE, ORDRE) VALUES (82, 3, 'consultation-fiche', 'Consultation de la fiche d''identité de la thèse', 3025) ; -INSERT INTO /*SYGAL.*/PRIVILEGE (ID, CATEGORIE_ID, CODE, LIBELLE, ORDRE) VALUES (83, 3, 'consultation-depot', 'Consultation du dépôt de la thèse', 3026) ; -INSERT INTO /*SYGAL.*/PRIVILEGE (ID, CATEGORIE_ID, CODE, LIBELLE, ORDRE) VALUES (84, 3, 'consultation-description', 'Consultation de la description de la thèse', 3027) ; -INSERT INTO /*SYGAL.*/PRIVILEGE (ID, CATEGORIE_ID, CODE, LIBELLE, ORDRE) VALUES (85, 3, 'consultation-archivage', 'Consultation de l''archivage de la thèse', 3028) ; -INSERT INTO /*SYGAL.*/PRIVILEGE (ID, CATEGORIE_ID, CODE, LIBELLE, ORDRE) VALUES (86, 3, 'consultation-rdv-bu', 'Consultation du rendez-vous BU', 3029) ; -INSERT INTO /*SYGAL.*/PRIVILEGE (ID, CATEGORIE_ID, CODE, LIBELLE, ORDRE) VALUES (88, 24, 'rdv-bu', 'Validation suite au rendez-vous à la BU', 3035) ; -INSERT INTO /*SYGAL.*/PRIVILEGE (ID, CATEGORIE_ID, CODE, LIBELLE, ORDRE) VALUES (96, 23, 'modification', 'Modification de la FAQ', 10) ; -INSERT INTO /*SYGAL.*/PRIVILEGE (ID, CATEGORIE_ID, CODE, LIBELLE, ORDRE) VALUES (1, 1, 'role-visualisation', 'Rôles - Visualisation', 1) ; -INSERT INTO /*SYGAL.*/PRIVILEGE (ID, CATEGORIE_ID, CODE, LIBELLE, ORDRE) VALUES (2, 1, 'role-edition', 'Rôles - Édition', 2) ; -INSERT INTO /*SYGAL.*/PRIVILEGE (ID, CATEGORIE_ID, CODE, LIBELLE, ORDRE) VALUES (3, 1, 'privilege-visualisation', 'Privilèges - Visualisation', 3) ; -INSERT INTO /*SYGAL.*/PRIVILEGE (ID, CATEGORIE_ID, CODE, LIBELLE, ORDRE) VALUES (4, 1, 'privilege-edition', 'Privilèges - Édition', 4) ; -INSERT INTO /*SYGAL.*/PRIVILEGE (ID, CATEGORIE_ID, CODE, LIBELLE, ORDRE) VALUES (6, 2, 'ecarts', 'Écarts entre les données de l''application et ses sources', 1) ; -INSERT INTO /*SYGAL.*/PRIVILEGE (ID, CATEGORIE_ID, CODE, LIBELLE, ORDRE) VALUES (9, 2, 'vues-procedures', 'Mise à jour des vues différentielles et des procédures de mise à jour', 4) ; -INSERT INTO /*SYGAL.*/PRIVILEGE (ID, CATEGORIE_ID, CODE, LIBELLE, ORDRE) VALUES (8, 2, 'tbl', 'Tableau de bord principal', 3) ; -INSERT INTO /*SYGAL.*/PRIVILEGE (ID, CATEGORIE_ID, CODE, LIBELLE, ORDRE) VALUES (7, 2, 'maj', 'Mise à jour des données à partir de leurs sources', 2) ; -INSERT INTO /*SYGAL.*/PRIVILEGE (ID, CATEGORIE_ID, CODE, LIBELLE, ORDRE) VALUES (11, 4, 'modification-persopass', 'Modification du persopass', 10) ; -INSERT INTO /*SYGAL.*/PRIVILEGE (ID, CATEGORIE_ID, CODE, LIBELLE, ORDRE) VALUES (14, 5, 'attribution-role', 'Attribution de rôle aux utilisateurs', 20) ; -INSERT INTO /*SYGAL.*/PRIVILEGE (ID, CATEGORIE_ID, CODE, LIBELLE, ORDRE) VALUES (41, 3, 'saisie-description-version-initiale', 'Saisie de la description de la thèse', 3040) ; -INSERT INTO /*SYGAL.*/PRIVILEGE (ID, CATEGORIE_ID, CODE, LIBELLE, ORDRE) VALUES (49, 3, 'saisie-description-version-corrigee', 'Saisie de la description de version corrigée', 3041) ; -INSERT INTO /*SYGAL.*/PRIVILEGE (ID, CATEGORIE_ID, CODE, LIBELLE, ORDRE) VALUES (42, 3, 'saisie-autorisation-diffusion-version-initiale', 'Saisie du formulaire d''autorisation de diffusion de la version initiale', 3090) ; -INSERT INTO /*SYGAL.*/PRIVILEGE (ID, CATEGORIE_ID, CODE, LIBELLE, ORDRE) VALUES (48, 3, 'saisie-autorisation-diffusion-version-corrigee', 'Saisie du formulaire d''autorisation de diffusion de la version corrigée', 3091) ; -INSERT INTO /*SYGAL.*/PRIVILEGE (ID, CATEGORIE_ID, CODE, LIBELLE, ORDRE) VALUES (43, 3, 'depot-version-initiale', 'Dépôt de la version initiale de la thèse', 3050) ; -INSERT INTO /*SYGAL.*/PRIVILEGE (ID, CATEGORIE_ID, CODE, LIBELLE, ORDRE) VALUES (44, 3, 'edition-convention-mel', 'Edition de la convention de mise en ligne', 3070) ; -INSERT INTO /*SYGAL.*/PRIVILEGE (ID, CATEGORIE_ID, CODE, LIBELLE, ORDRE) VALUES (45, 3, 'saisie-mot-cle-rameau', 'Saisie des mots-clés RAMEAU', 3030) ; -INSERT INTO /*SYGAL.*/PRIVILEGE (ID, CATEGORIE_ID, CODE, LIBELLE, ORDRE) VALUES (46, 5, 'consultation', 'Consultation des utilisateurs', 10) ; -INSERT INTO /*SYGAL.*/PRIVILEGE (ID, CATEGORIE_ID, CODE, LIBELLE, ORDRE) VALUES (47, 3, 'recherche', 'Recherche de thèses', 3010) ; -INSERT INTO /*SYGAL.*/PRIVILEGE (ID, CATEGORIE_ID, CODE, LIBELLE, ORDRE) VALUES (61, 3, 'saisie-conformite-version-archivage-initiale', 'Juger de la conformité de la version retraitée', 3080) ; -INSERT INTO /*SYGAL.*/PRIVILEGE (ID, CATEGORIE_ID, CODE, LIBELLE, ORDRE) VALUES (62, 3, 'saisie-conformite-version-archivage-corrigee', 'Juger de la conformité de la version corrigée retraitée', 3081) ; -INSERT INTO /*SYGAL.*/PRIVILEGE (ID, CATEGORIE_ID, CODE, LIBELLE, ORDRE) VALUES (90, 24, 'rdv-bu-suppression', 'Suppression de la validation concernant le rendez-vous à la BU', 3036) ; -INSERT INTO /*SYGAL.*/PRIVILEGE (ID, CATEGORIE_ID, CODE, LIBELLE, ORDRE) VALUES (95, 5, 'modification', 'Modification d''utilisateur', 110) ; -INSERT INTO /*SYGAL.*/PRIVILEGE (ID, CATEGORIE_ID, CODE, LIBELLE, ORDRE) VALUES (137, 3, 'depot-version-corrigee', 'Dépôt de la version corrigée de la thèse', 3055) ; -INSERT INTO /*SYGAL.*/PRIVILEGE (ID, CATEGORIE_ID, CODE, LIBELLE, ORDRE) VALUES (127, 24, 'depot-these-corrigee', 'Validation du dépôt de la thèse corrigée', 4000) ; -INSERT INTO /*SYGAL.*/PRIVILEGE (ID, CATEGORIE_ID, CODE, LIBELLE, ORDRE) VALUES (128, 24, 'depot-these-corrigee-suppression', 'Suppression de la validation du dépôt de la thèse corrigée', 4120) ; -INSERT INTO /*SYGAL.*/PRIVILEGE (ID, CATEGORIE_ID, CODE, LIBELLE, ORDRE) VALUES (157, 3, 'fichier-divers-televerser', 'Téléverser un fichier comme le PV ou le rapport de soutenance, la demande de confidentialité, etc.', 100) ; -INSERT INTO /*SYGAL.*/PRIVILEGE (ID, CATEGORIE_ID, CODE, LIBELLE, ORDRE) VALUES (160, 3, 'fichier-divers-consulter', 'Télécharger/consulter un fichier comme le PV ou le rapport de soutenance, la demande de confidentialité, etc.', 150) ; -INSERT INTO /*SYGAL.*/PRIVILEGE (ID, CATEGORIE_ID, CODE, LIBELLE, ORDRE) VALUES (177, 3, 'export-csv', 'Export des thèses au format CSV', 3020) ; -INSERT INTO /*SYGAL.*/PRIVILEGE (ID, CATEGORIE_ID, CODE, LIBELLE, ORDRE) VALUES (197, 3, 'saisie-rdv-bu', 'Modification des informations rendez-vous BU', 3029) ; -INSERT INTO /*SYGAL.*/PRIVILEGE (ID, CATEGORIE_ID, CODE, LIBELLE, ORDRE) VALUES (129, 24, 'correction-these', 'Validation des corrections de la thèse', 4100) ; -INSERT INTO /*SYGAL.*/PRIVILEGE (ID, CATEGORIE_ID, CODE, LIBELLE, ORDRE) VALUES (130, 24, 'correction-these-suppression', 'Suppression de la validation des corrections de la thèse', 4120) ; -INSERT INTO /*SYGAL.*/PRIVILEGE (ID, CATEGORIE_ID, CODE, LIBELLE, ORDRE) VALUES (198, 3, 'saisie-attestations-version-initiale', 'Modification des attestations', 3030) ; -INSERT INTO /*SYGAL.*/PRIVILEGE (ID, CATEGORIE_ID, CODE, LIBELLE, ORDRE) VALUES (199, 3, 'saisie-attestations-version-corrigee', 'Modification des attestations concernant la version corrigée', 3031) ; -INSERT INTO /*SYGAL.*/PRIVILEGE (ID, CATEGORIE_ID, CODE, LIBELLE, ORDRE) VALUES (22, 24, 'page-de-couverture', 'Validation de la page de couverture', 3030) ; -INSERT INTO /*SYGAL.*/PRIVILEGE (ID, CATEGORIE_ID, CODE, LIBELLE, ORDRE) VALUES (260, 24, 'page-de-couverture-suppr', 'Suppression de la validation de la page de couverture', 3031) ; -INSERT INTO /*SYGAL.*/PRIVILEGE (ID, CATEGORIE_ID, CODE, LIBELLE, ORDRE) VALUES (270, 50, 'consultation', 'Consultation des indicateurs', 10) ; -INSERT INTO /*SYGAL.*/PRIVILEGE (ID, CATEGORIE_ID, CODE, LIBELLE, ORDRE) VALUES (271, 50, 'exportation', 'Exportation des indicateurs', 20) ; -INSERT INTO /*SYGAL.*/PRIVILEGE (ID, CATEGORIE_ID, CODE, LIBELLE, ORDRE) VALUES (272, 50, 'rafraichissement', 'Rafraîchissement des indicateurs', 30) ; -INSERT INTO /*SYGAL.*/PRIVILEGE (ID, CATEGORIE_ID, CODE, LIBELLE, ORDRE) VALUES (402, 100, 'creation-ur', 'Création d''unité de recherche', 102) ; -INSERT INTO /*SYGAL.*/PRIVILEGE (ID, CATEGORIE_ID, CODE, LIBELLE, ORDRE) VALUES (404, 100, 'consultation-de-toutes-les-structures', 'Consultation de toutes les structures', 1000) ; -INSERT INTO /*SYGAL.*/PRIVILEGE (ID, CATEGORIE_ID, CODE, LIBELLE, ORDRE) VALUES (403, 100, 'creation-etab', 'Création d''établissement', 100) ; -INSERT INTO /*SYGAL.*/PRIVILEGE (ID, CATEGORIE_ID, CODE, LIBELLE, ORDRE) VALUES (405, 100, 'consultation-de-ses-structures', 'Consultation de ses structures', 1100) ; -INSERT INTO /*SYGAL.*/PRIVILEGE (ID, CATEGORIE_ID, CODE, LIBELLE, ORDRE) VALUES (406, 100, 'modification-de-toutes-les-structures', 'Modification de toutes les structures', 1200) ; -INSERT INTO /*SYGAL.*/PRIVILEGE (ID, CATEGORIE_ID, CODE, LIBELLE, ORDRE) VALUES (407, 100, 'modification-de-ses-structures', 'Modification de ses structures', 1300) ; -INSERT INTO /*SYGAL.*/PRIVILEGE (ID, CATEGORIE_ID, CODE, LIBELLE, ORDRE) VALUES (408, 3, 'consultation-de-toutes-les-theses', 'Consultation de toutes les thèses', 1000) ; -INSERT INTO /*SYGAL.*/PRIVILEGE (ID, CATEGORIE_ID, CODE, LIBELLE, ORDRE) VALUES (409, 3, 'consultation-de-ses-theses', 'Consultation de ses thèses', 1100) ; -INSERT INTO /*SYGAL.*/PRIVILEGE (ID, CATEGORIE_ID, CODE, LIBELLE, ORDRE) VALUES (401, 100, 'creation-ed', 'Création d''école doctorale', 101) ; -INSERT INTO /*SYGAL.*/PRIVILEGE (ID, CATEGORIE_ID, CODE, LIBELLE, ORDRE) VALUES (410, 3, 'modification-de-toutes-les-theses', 'Modification de toutes les thèses', 1200) ; -INSERT INTO /*SYGAL.*/PRIVILEGE (ID, CATEGORIE_ID, CODE, LIBELLE, ORDRE) VALUES (411, 3, 'modification-de-ses-theses', 'Modification de ses thèses', 1300) ; -INSERT INTO /*SYGAL.*/PRIVILEGE (ID, CATEGORIE_ID, CODE, LIBELLE, ORDRE) VALUES (281, 3, 'refresh-these', 'Réimporter la thèse', 3000) ; -INSERT INTO /*SYGAL.*/PRIVILEGE (ID, CATEGORIE_ID, CODE, LIBELLE, ORDRE) VALUES (250, 19, 'automatique', 'Substitution automatique de structures', 100) ; -INSERT INTO /*SYGAL.*/PRIVILEGE (ID, CATEGORIE_ID, CODE, LIBELLE, ORDRE) VALUES (321, 3, 'saisie-correc-autorisee-forcee', 'Modification du témoin de correction autorisée forcée', 3045) ; -INSERT INTO /*SYGAL.*/PRIVILEGE (ID, CATEGORIE_ID, CODE, LIBELLE, ORDRE) VALUES (10, 23, 'modifier-information', 'Modifier les pages d''information ', 50) ; -INSERT INTO /*SYGAL.*/PRIVILEGE (ID, CATEGORIE_ID, CODE, LIBELLE, ORDRE) VALUES (36, 19, 'consultation-toutes-structures', 'Consultation de toutes les substitutions', 200) ; -INSERT INTO /*SYGAL.*/PRIVILEGE (ID, CATEGORIE_ID, CODE, LIBELLE, ORDRE) VALUES (37, 19, 'consultation-sa-structure', 'Consultation de la substitution de sa structure', 300) ; -INSERT INTO /*SYGAL.*/PRIVILEGE (ID, CATEGORIE_ID, CODE, LIBELLE, ORDRE) VALUES (38, 19, 'modification-toutes-structures', 'Modification de toutes les substitutions ', 400) ; -INSERT INTO /*SYGAL.*/PRIVILEGE (ID, CATEGORIE_ID, CODE, LIBELLE, ORDRE) VALUES (39, 19, 'modification-sa-structure', 'Modification de la substitution de sa structure', 500) ; diff --git a/database/02-inserts/oracle-data-insert-from-SYGAL.PROFIL-into-SYGAL.sql b/database/02-inserts/oracle-data-insert-from-SYGAL.PROFIL-into-SYGAL.sql deleted file mode 100644 index 3772df3f0e53da4346616886323fd8b1470a8fbc..0000000000000000000000000000000000000000 --- a/database/02-inserts/oracle-data-insert-from-SYGAL.PROFIL-into-SYGAL.sql +++ /dev/null @@ -1,16 +0,0 @@ -set define off ; - -INSERT INTO /*SYGAL.*/PROFIL (ID, LIBELLE, ROLE_ID, STRUCTURE_TYPE, DESCRIPTION) VALUES (1, 'Unité de recherche', 'UR', 3, NULL) ; -INSERT INTO /*SYGAL.*/PROFIL (ID, LIBELLE, ROLE_ID, STRUCTURE_TYPE, DESCRIPTION) VALUES (2, 'École doctorale', 'ED', 2, NULL) ; -INSERT INTO /*SYGAL.*/PROFIL (ID, LIBELLE, ROLE_ID, STRUCTURE_TYPE, DESCRIPTION) VALUES (3, 'Administrateur', 'ADMIN', 1, NULL) ; -INSERT INTO /*SYGAL.*/PROFIL (ID, LIBELLE, ROLE_ID, STRUCTURE_TYPE, DESCRIPTION) VALUES (4, 'Bureau des doctorats', 'BDD', 1, NULL) ; -INSERT INTO /*SYGAL.*/PROFIL (ID, LIBELLE, ROLE_ID, STRUCTURE_TYPE, DESCRIPTION) VALUES (5, 'Bibliothèque universitaire', 'BU', 1, NULL) ; -INSERT INTO /*SYGAL.*/PROFIL (ID, LIBELLE, ROLE_ID, STRUCTURE_TYPE, DESCRIPTION) VALUES (6, 'Administrateur technique', 'ADMIN_TECH', NULL, NULL) ; -INSERT INTO /*SYGAL.*/PROFIL (ID, LIBELLE, ROLE_ID, STRUCTURE_TYPE, DESCRIPTION) VALUES (7, 'Doctorant', 'DOCTORANT', NULL, NULL) ; -INSERT INTO /*SYGAL.*/PROFIL (ID, LIBELLE, ROLE_ID, STRUCTURE_TYPE, DESCRIPTION) VALUES (8, 'Observateur', 'OBSERV', NULL, NULL) ; -INSERT INTO /*SYGAL.*/PROFIL (ID, LIBELLE, ROLE_ID, STRUCTURE_TYPE, DESCRIPTION) VALUES (9, 'Directeur', 'D', NULL, NULL) ; -INSERT INTO /*SYGAL.*/PROFIL (ID, LIBELLE, ROLE_ID, STRUCTURE_TYPE, DESCRIPTION) VALUES (10, 'Co-directeur', 'K', NULL, NULL) ; -INSERT INTO /*SYGAL.*/PROFIL (ID, LIBELLE, ROLE_ID, STRUCTURE_TYPE, DESCRIPTION) VALUES (11, 'Rapporteur', 'R', NULL, NULL) ; -INSERT INTO /*SYGAL.*/PROFIL (ID, LIBELLE, ROLE_ID, STRUCTURE_TYPE, DESCRIPTION) VALUES (12, 'Membre', 'M', NULL, NULL) ; -INSERT INTO /*SYGAL.*/PROFIL (ID, LIBELLE, ROLE_ID, STRUCTURE_TYPE, DESCRIPTION) VALUES (61, 'Doctorant sans dépôt', 'NODEPOT', NULL, 'Rôle de doctorant temporaire') ; -INSERT INTO /*SYGAL.*/PROFIL (ID, LIBELLE, ROLE_ID, STRUCTURE_TYPE, DESCRIPTION) VALUES (21, 'Observatoire', 'OBSERVATOIRE', NULL, NULL) ; diff --git a/database/02-inserts/oracle-data-insert-from-SYGAL.PROFIL_PRIVILEGE-into-SYGAL.sql b/database/02-inserts/oracle-data-insert-from-SYGAL.PROFIL_PRIVILEGE-into-SYGAL.sql deleted file mode 100644 index e1aca9ce1a4257c241d828f8bf8b8c6d00859721..0000000000000000000000000000000000000000 --- a/database/02-inserts/oracle-data-insert-from-SYGAL.PROFIL_PRIVILEGE-into-SYGAL.sql +++ /dev/null @@ -1,319 +0,0 @@ -set define off ; - -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (35, 1) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (47, 1) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (82, 1) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (177, 1) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (270, 1) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (271, 1) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (342, 1) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (404, 1) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (405, 1) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (407, 1) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (408, 1) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (409, 1) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (35, 2) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (47, 2) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (82, 2) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (177, 2) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (270, 2) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (271, 2) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (342, 2) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (404, 2) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (405, 2) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (407, 2) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (408, 2) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (409, 2) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (11, 3) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (15, 3) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (35, 3) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (47, 3) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (82, 3) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (177, 3) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (270, 3) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (271, 3) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (342, 3) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (404, 3) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (405, 3) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (407, 3) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (408, 3) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (409, 3) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (1, 4) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (3, 4) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (10, 4) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (15, 4) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (22, 4) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (35, 4) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (41, 4) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (42, 4) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (43, 4) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (44, 4) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (45, 4) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (46, 4) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (47, 4) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (48, 4) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (49, 4) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (61, 4) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (62, 4) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (81, 4) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (82, 4) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (83, 4) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (84, 4) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (85, 4) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (86, 4) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (88, 4) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (90, 4) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (96, 4) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (127, 4) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (128, 4) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (130, 4) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (137, 4) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (157, 4) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (160, 4) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (161, 4) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (177, 4) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (197, 4) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (198, 4) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (199, 4) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (260, 4) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (270, 4) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (271, 4) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (281, 4) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (321, 4) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (341, 4) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (342, 4) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (343, 4) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (344, 4) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (404, 4) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (405, 4) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (406, 4) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (407, 4) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (408, 4) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (409, 4) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (410, 4) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (411, 4) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (1, 5) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (3, 5) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (10, 5) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (22, 5) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (35, 5) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (41, 5) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (42, 5) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (43, 5) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (44, 5) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (45, 5) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (46, 5) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (47, 5) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (48, 5) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (49, 5) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (61, 5) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (62, 5) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (81, 5) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (82, 5) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (83, 5) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (84, 5) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (85, 5) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (86, 5) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (88, 5) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (90, 5) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (96, 5) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (127, 5) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (128, 5) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (130, 5) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (137, 5) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (157, 5) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (160, 5) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (161, 5) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (177, 5) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (197, 5) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (198, 5) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (199, 5) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (260, 5) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (270, 5) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (271, 5) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (281, 5) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (321, 5) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (341, 5) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (342, 5) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (343, 5) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (344, 5) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (404, 5) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (405, 5) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (406, 5) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (407, 5) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (408, 5) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (409, 5) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (410, 5) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (411, 5) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (1, 6) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (2, 6) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (3, 6) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (4, 6) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (6, 6) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (7, 6) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (8, 6) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (9, 6) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (10, 6) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (11, 6) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (14, 6) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (15, 6) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (22, 6) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (35, 6) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (36, 6) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (37, 6) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (38, 6) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (39, 6) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (41, 6) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (42, 6) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (43, 6) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (44, 6) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (45, 6) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (46, 6) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (47, 6) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (48, 6) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (49, 6) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (61, 6) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (62, 6) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (81, 6) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (82, 6) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (83, 6) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (84, 6) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (85, 6) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (86, 6) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (88, 6) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (90, 6) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (95, 6) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (96, 6) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (127, 6) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (128, 6) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (129, 6) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (130, 6) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (137, 6) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (157, 6) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (160, 6) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (161, 6) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (177, 6) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (197, 6) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (198, 6) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (199, 6) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (250, 6) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (260, 6) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (270, 6) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (271, 6) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (272, 6) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (273, 6) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (281, 6) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (321, 6) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (341, 6) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (342, 6) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (343, 6) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (344, 6) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (401, 6) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (402, 6) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (403, 6) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (404, 6) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (405, 6) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (406, 6) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (407, 6) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (408, 6) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (409, 6) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (410, 6) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (411, 6) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (425, 6) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (11, 7) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (41, 7) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (42, 7) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (43, 7) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (44, 7) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (48, 7) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (49, 7) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (61, 7) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (62, 7) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (81, 7) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (82, 7) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (83, 7) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (84, 7) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (85, 7) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (86, 7) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (127, 7) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (129, 7) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (137, 7) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (177, 7) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (197, 7) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (198, 7) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (199, 7) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (342, 7) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (409, 7) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (411, 7) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (425, 7) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (35, 8) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (81, 8) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (82, 8) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (83, 8) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (84, 8) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (85, 8) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (86, 8) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (160, 8) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (177, 8) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (270, 8) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (271, 8) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (342, 8) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (404, 8) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (405, 8) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (408, 8) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (409, 8) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (47, 9) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (81, 9) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (82, 9) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (83, 9) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (84, 9) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (85, 9) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (86, 9) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (129, 9) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (177, 9) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (342, 9) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (409, 9) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (47, 10) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (81, 10) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (82, 10) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (83, 10) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (84, 10) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (85, 10) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (86, 10) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (129, 10) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (177, 10) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (342, 10) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (409, 10) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (177, 11) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (342, 11) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (177, 12) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (342, 12) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (35, 21) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (81, 21) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (82, 21) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (83, 21) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (84, 21) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (85, 21) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (86, 21) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (160, 21) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (177, 21) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (270, 21) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (271, 21) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (342, 21) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (404, 21) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (405, 21) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (408, 21) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (409, 21) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (11, 61) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (81, 61) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (82, 61) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (83, 61) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (84, 61) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (85, 61) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (86, 61) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (127, 61) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (129, 61) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (177, 61) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (342, 61) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (409, 61) ; -INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (425, 61) ; diff --git a/database/02-inserts/oracle-data-insert-from-SYGAL.TYPE_STRUCTURE-into-SYGAL.sql b/database/02-inserts/oracle-data-insert-from-SYGAL.TYPE_STRUCTURE-into-SYGAL.sql deleted file mode 100644 index 7e707f10d02b8671a2cecf813806c7b0652a86a1..0000000000000000000000000000000000000000 --- a/database/02-inserts/oracle-data-insert-from-SYGAL.TYPE_STRUCTURE-into-SYGAL.sql +++ /dev/null @@ -1,5 +0,0 @@ -set define off ; - -INSERT INTO /*SYGAL.*/TYPE_STRUCTURE (ID, CODE, LIBELLE) VALUES (1, 'etablissement', 'Établissement') ; -INSERT INTO /*SYGAL.*/TYPE_STRUCTURE (ID, CODE, LIBELLE) VALUES (2, 'ecole-doctorale', 'École doctorale') ; -INSERT INTO /*SYGAL.*/TYPE_STRUCTURE (ID, CODE, LIBELLE) VALUES (3, 'unite-recherche', 'Unité de recherche') ; diff --git a/database/02-inserts/oracle-data-insert-from-SYGAL.TYPE_VALIDATION-into-SYGAL.sql b/database/02-inserts/oracle-data-insert-from-SYGAL.TYPE_VALIDATION-into-SYGAL.sql deleted file mode 100644 index cccecaafd0b5a75881a17e33e86ad4cf4797b0a7..0000000000000000000000000000000000000000 --- a/database/02-inserts/oracle-data-insert-from-SYGAL.TYPE_VALIDATION-into-SYGAL.sql +++ /dev/null @@ -1,7 +0,0 @@ -set define off ; - -INSERT INTO /*SYGAL.*/TYPE_VALIDATION (ID, CODE, LIBELLE) VALUES (1, 'RDV_BU', 'Validation suite au rendez-vous avec le doctorant') ; -INSERT INTO /*SYGAL.*/TYPE_VALIDATION (ID, CODE, LIBELLE) VALUES (2, 'DEPOT_THESE_CORRIGEE', 'Validation automatique du dépôt de la thèse corrigée') ; -INSERT INTO /*SYGAL.*/TYPE_VALIDATION (ID, CODE, LIBELLE) VALUES (3, 'CORRECTION_THESE', 'Validation par le(s) directeur(s) de thèse des corrections de la thèse') ; -INSERT INTO /*SYGAL.*/TYPE_VALIDATION (ID, CODE, LIBELLE) VALUES (4, 'VERSION_PAPIER_CORRIGEE', 'Confirmation dépot de la version papier corrigée') ; -INSERT INTO /*SYGAL.*/TYPE_VALIDATION (ID, CODE, LIBELLE) VALUES (5, 'PAGE_DE_COUVERTURE', 'Validation de la page de couverture') ; diff --git a/database/02-inserts/oracle-data-insert-from-SYGAL.VERSION_FICHIER-into-SYGAL.sql b/database/02-inserts/oracle-data-insert-from-SYGAL.VERSION_FICHIER-into-SYGAL.sql deleted file mode 100644 index cae3b42292e412eac286c5c750e61577839b2613..0000000000000000000000000000000000000000 --- a/database/02-inserts/oracle-data-insert-from-SYGAL.VERSION_FICHIER-into-SYGAL.sql +++ /dev/null @@ -1,8 +0,0 @@ -set define off ; - -INSERT INTO /*SYGAL.*/VERSION_FICHIER (ID, CODE, LIBELLE) VALUES (1, 'VA', 'Version d''archivage') ; -INSERT INTO /*SYGAL.*/VERSION_FICHIER (ID, CODE, LIBELLE) VALUES (2, 'VD', 'Version de diffusion') ; -INSERT INTO /*SYGAL.*/VERSION_FICHIER (ID, CODE, LIBELLE) VALUES (3, 'VO', 'Version originale') ; -INSERT INTO /*SYGAL.*/VERSION_FICHIER (ID, CODE, LIBELLE) VALUES (4, 'VAC', 'Version d''archivage corrigée') ; -INSERT INTO /*SYGAL.*/VERSION_FICHIER (ID, CODE, LIBELLE) VALUES (5, 'VDC', 'Version de diffusion corrigée') ; -INSERT INTO /*SYGAL.*/VERSION_FICHIER (ID, CODE, LIBELLE) VALUES (6, 'VOC', 'Version originale corrigée') ; diff --git a/database/02-inserts/oracle-data-insert-from-SYGAL.WF_ETAPE-into-SYGAL.sql b/database/02-inserts/oracle-data-insert-from-SYGAL.WF_ETAPE-into-SYGAL.sql deleted file mode 100644 index 889ab9df4d76aeeb0763cf2a985a0effb057b02e..0000000000000000000000000000000000000000 --- a/database/02-inserts/oracle-data-insert-from-SYGAL.WF_ETAPE-into-SYGAL.sql +++ /dev/null @@ -1,24 +0,0 @@ -set define off ; - -INSERT INTO /*SYGAL.*/WF_ETAPE (ID, CODE, ORDRE, CHEMIN, OBLIGATOIRE, ROUTE, LIBELLE_ACTEUR, LIBELLE_AUTRES, DESC_NON_FRANCHIE, DESC_SANS_OBJECTIF) VALUES (1, 'DEPOT_VERSION_ORIGINALE', 10, 1, 1, 'these/depot', 'Téléversement de la thèse', 'Téléversement de la thèse', 'Téléversement de la thèse non effectué', NULL) ; -INSERT INTO /*SYGAL.*/WF_ETAPE (ID, CODE, ORDRE, CHEMIN, OBLIGATOIRE, ROUTE, LIBELLE_ACTEUR, LIBELLE_AUTRES, DESC_NON_FRANCHIE, DESC_SANS_OBJECTIF) VALUES (2, 'AUTORISATION_DIFFUSION_THESE', 20, 1, 1, 'these/depot', 'Autorisation de diffusion de la thèse', 'Autorisation de diffusion de la thèse', 'Autorisation de diffusion non remplie', NULL) ; -INSERT INTO /*SYGAL.*/WF_ETAPE (ID, CODE, ORDRE, CHEMIN, OBLIGATOIRE, ROUTE, LIBELLE_ACTEUR, LIBELLE_AUTRES, DESC_NON_FRANCHIE, DESC_SANS_OBJECTIF) VALUES (3, 'SIGNALEMENT_THESE', 30, 1, 1, 'these/description', 'Signalement de la thèse', 'Signalement de la thèse', 'Signalement non renseigné', NULL) ; -INSERT INTO /*SYGAL.*/WF_ETAPE (ID, CODE, ORDRE, CHEMIN, OBLIGATOIRE, ROUTE, LIBELLE_ACTEUR, LIBELLE_AUTRES, DESC_NON_FRANCHIE, DESC_SANS_OBJECTIF) VALUES (4, 'ARCHIVABILITE_VERSION_ORIGINALE', 40, 1, 1, 'these/archivage', 'Archivabilité de la thèse', 'Archivabilité de la thèse', 'Archivabilité non testée', NULL) ; -INSERT INTO /*SYGAL.*/WF_ETAPE (ID, CODE, ORDRE, CHEMIN, OBLIGATOIRE, ROUTE, LIBELLE_ACTEUR, LIBELLE_AUTRES, DESC_NON_FRANCHIE, DESC_SANS_OBJECTIF) VALUES (5, 'DEPOT_VERSION_ARCHIVAGE', 50, 2, 1, 'these/archivage', 'Téléversement d''une version retraitée de la thèse', 'Téléversement d''une version retraitée de la thèse', 'Téléversement d''une version retraitée non effectué', NULL) ; -INSERT INTO /*SYGAL.*/WF_ETAPE (ID, CODE, ORDRE, CHEMIN, OBLIGATOIRE, ROUTE, LIBELLE_ACTEUR, LIBELLE_AUTRES, DESC_NON_FRANCHIE, DESC_SANS_OBJECTIF) VALUES (6, 'ARCHIVABILITE_VERSION_ARCHIVAGE', 60, 2, 1, 'these/archivage', 'Archivabilité de la version retraitée de la thèse', 'Archivabilité de la version retraitée de la thèse', 'Archivabilité de la version retraitée non testée', NULL) ; -INSERT INTO /*SYGAL.*/WF_ETAPE (ID, CODE, ORDRE, CHEMIN, OBLIGATOIRE, ROUTE, LIBELLE_ACTEUR, LIBELLE_AUTRES, DESC_NON_FRANCHIE, DESC_SANS_OBJECTIF) VALUES (7, 'VERIFICATION_VERSION_ARCHIVAGE', 70, 2, 1, 'these/archivage', 'Vérification de la version retraitée de la thèse', 'Vérification de la version retraitée de la thèse', 'Vérification de la version retraitée non effectuée', NULL) ; -INSERT INTO /*SYGAL.*/WF_ETAPE (ID, CODE, ORDRE, CHEMIN, OBLIGATOIRE, ROUTE, LIBELLE_ACTEUR, LIBELLE_AUTRES, DESC_NON_FRANCHIE, DESC_SANS_OBJECTIF) VALUES (8, 'RDV_BU_SAISIE_DOCTORANT', 80, 1, 1, 'these/rdv-bu', 'Saisie des coordonnées et disponibilités du doctorant pour le rendez-vous à la BU', 'Saisie des coordonnées et disponibilités du doctorant pour le rendez-vous à la BU', 'Saisie des coordonnées et disponibilités pour le rendez-vous à la BU non effectuée', NULL) ; -INSERT INTO /*SYGAL.*/WF_ETAPE (ID, CODE, ORDRE, CHEMIN, OBLIGATOIRE, ROUTE, LIBELLE_ACTEUR, LIBELLE_AUTRES, DESC_NON_FRANCHIE, DESC_SANS_OBJECTIF) VALUES (9, 'RDV_BU_SAISIE_BU', 90, 1, 1, 'these/rdv-bu', 'Saisie infos BU', 'Saisie infos BU', 'Saisie infos BU non effectuée', NULL) ; -INSERT INTO /*SYGAL.*/WF_ETAPE (ID, CODE, ORDRE, CHEMIN, OBLIGATOIRE, ROUTE, LIBELLE_ACTEUR, LIBELLE_AUTRES, DESC_NON_FRANCHIE, DESC_SANS_OBJECTIF) VALUES (10, 'RDV_BU_VALIDATION_BU', 100, 1, 1, 'these/rdv-bu', 'Validation', 'Validation', 'Validation de la BU non effectuée', NULL) ; -INSERT INTO /*SYGAL.*/WF_ETAPE (ID, CODE, ORDRE, CHEMIN, OBLIGATOIRE, ROUTE, LIBELLE_ACTEUR, LIBELLE_AUTRES, DESC_NON_FRANCHIE, DESC_SANS_OBJECTIF) VALUES (11, 'ATTESTATIONS', 15, 1, 1, 'these/depot', 'Attestations', 'Attestations', 'Attestations non renseignées', NULL) ; -INSERT INTO /*SYGAL.*/WF_ETAPE (ID, CODE, ORDRE, CHEMIN, OBLIGATOIRE, ROUTE, LIBELLE_ACTEUR, LIBELLE_AUTRES, DESC_NON_FRANCHIE, DESC_SANS_OBJECTIF) VALUES (12, 'VALIDATION_PAGE_DE_COUVERTURE', 8, 1, 1, 'these/validation-page-de-couverture', 'Validation de la page de couverture', 'Validation de la page de couverture', 'Validation de la page de couverture non effectuée', NULL) ; -INSERT INTO /*SYGAL.*/WF_ETAPE (ID, CODE, ORDRE, CHEMIN, OBLIGATOIRE, ROUTE, LIBELLE_ACTEUR, LIBELLE_AUTRES, DESC_NON_FRANCHIE, DESC_SANS_OBJECTIF) VALUES (31, 'DEPOT_VERSION_ORIGINALE_CORRIGEE', 200, 1, 1, 'these/depot-version-corrigee', 'Téléversement de la thèse corrigée', 'Téléversement de la thèse corrigée', 'Téléversement de la thèse corrigée non effectué', NULL) ; -INSERT INTO /*SYGAL.*/WF_ETAPE (ID, CODE, ORDRE, CHEMIN, OBLIGATOIRE, ROUTE, LIBELLE_ACTEUR, LIBELLE_AUTRES, DESC_NON_FRANCHIE, DESC_SANS_OBJECTIF) VALUES (32, 'ARCHIVABILITE_VERSION_ORIGINALE_CORRIGEE', 240, 1, 1, 'these/archivage-version-corrigee', 'Archivabilité de la version originale de la thèse corrigée', 'Archivabilité de la version originale de la thèse corrigée', 'Archivabilité de la version originale de la thèse corrigée non testée', NULL) ; -INSERT INTO /*SYGAL.*/WF_ETAPE (ID, CODE, ORDRE, CHEMIN, OBLIGATOIRE, ROUTE, LIBELLE_ACTEUR, LIBELLE_AUTRES, DESC_NON_FRANCHIE, DESC_SANS_OBJECTIF) VALUES (33, 'DEPOT_VERSION_ARCHIVAGE_CORRIGEE', 250, 2, 1, 'these/archivage-version-corrigee', 'Téléversement d''une version retraitée de la thèse corrigée', 'Téléversement d''une version retraitée de la thèse corrigée', 'Téléversement d''une version retraitée de la thèse corrigée non effectué', NULL) ; -INSERT INTO /*SYGAL.*/WF_ETAPE (ID, CODE, ORDRE, CHEMIN, OBLIGATOIRE, ROUTE, LIBELLE_ACTEUR, LIBELLE_AUTRES, DESC_NON_FRANCHIE, DESC_SANS_OBJECTIF) VALUES (34, 'ARCHIVABILITE_VERSION_ARCHIVAGE_CORRIGEE', 260, 2, 1, 'these/archivage-version-corrigee', 'Archivabilité de la version retraitée de la thèse corrigée', 'Archivabilité de la version retraitée de la thèse corrigée', 'Archivabilité de la version retraitée de la thèse corrigée non testée', NULL) ; -INSERT INTO /*SYGAL.*/WF_ETAPE (ID, CODE, ORDRE, CHEMIN, OBLIGATOIRE, ROUTE, LIBELLE_ACTEUR, LIBELLE_AUTRES, DESC_NON_FRANCHIE, DESC_SANS_OBJECTIF) VALUES (35, 'VERIFICATION_VERSION_ARCHIVAGE_CORRIGEE', 270, 2, 1, 'these/archivage-version-corrigee', 'Vérification de la version retraitée de la thèse corrigée', 'Vérification de la version retraitée de la thèse corrigée', 'Vérification de la version retraitée de la thèse corrigée non effectuée', NULL) ; -INSERT INTO /*SYGAL.*/WF_ETAPE (ID, CODE, ORDRE, CHEMIN, OBLIGATOIRE, ROUTE, LIBELLE_ACTEUR, LIBELLE_AUTRES, DESC_NON_FRANCHIE, DESC_SANS_OBJECTIF) VALUES (38, 'DEPOT_VERSION_CORRIGEE_VALIDATION_DOCTORANT', 280, 1, 1, 'these/validation-these-corrigee', 'Validation automatique du dépôt de votre thèse corrigée', 'Validation automatique du dépôt de la thèse corrigée', 'Validation automatique du dépôt de la thèse corrigée non effectuée', NULL) ; -INSERT INTO /*SYGAL.*/WF_ETAPE (ID, CODE, ORDRE, CHEMIN, OBLIGATOIRE, ROUTE, LIBELLE_ACTEUR, LIBELLE_AUTRES, DESC_NON_FRANCHIE, DESC_SANS_OBJECTIF) VALUES (39, 'DEPOT_VERSION_CORRIGEE_VALIDATION_DIRECTEUR', 290, 1, 1, 'these/validation-these-corrigee', 'Validation de la thèse corrigée par les directeurs de thèse', 'Validation de la thèse corrigée par les directeurs de thèse', 'Validation de la thèse corrigée par les directeurs de thèse non effectuée', NULL) ; -INSERT INTO /*SYGAL.*/WF_ETAPE (ID, CODE, ORDRE, CHEMIN, OBLIGATOIRE, ROUTE, LIBELLE_ACTEUR, LIBELLE_AUTRES, DESC_NON_FRANCHIE, DESC_SANS_OBJECTIF) VALUES (51, 'ATTESTATIONS_VERSION_CORRIGEE', 210, 1, 1, 'these/depot-version-corrigee', 'Attestations version corrigée', 'Attestations version corrigée', 'Attestations version corrigée non renseignées', NULL) ; -INSERT INTO /*SYGAL.*/WF_ETAPE (ID, CODE, ORDRE, CHEMIN, OBLIGATOIRE, ROUTE, LIBELLE_ACTEUR, LIBELLE_AUTRES, DESC_NON_FRANCHIE, DESC_SANS_OBJECTIF) VALUES (52, 'AUTORISATION_DIFFUSION_THESE_VERSION_CORRIGEE', 220, 1, 1, 'these/depot-version-corrigee', 'Autorisation de diffusion de la version corrigée', 'Autorisation de diffusion de la version corrigée', 'Autorisation de diffusion de la version corrigée non remplie', NULL) ; -INSERT INTO /*SYGAL.*/WF_ETAPE (ID, CODE, ORDRE, CHEMIN, OBLIGATOIRE, ROUTE, LIBELLE_ACTEUR, LIBELLE_AUTRES, DESC_NON_FRANCHIE, DESC_SANS_OBJECTIF) VALUES (60, 'REMISE_EXEMPLAIRE_PAPIER_THESE_CORRIGEE', 300, 1, 1, 'these/version-papier', 'Remise de l''exemplaire papier de la thèse corrigée', 'Remise de l''exemplaire papier de la thèse corrigée', 'Remise de l''exemplaire papier de la thèse corrigée', NULL) ; diff --git a/database/03-oracle-generate-ref-constraints-SYGAL.sql b/database/03-oracle-generate-ref-constraints-SYGAL.sql deleted file mode 100644 index 6c7cb48a743f705d1552ee80d61ecca629d86c3f..0000000000000000000000000000000000000000 --- a/database/03-oracle-generate-ref-constraints-SYGAL.sql +++ /dev/null @@ -1,281 +0,0 @@ - - ALTER TABLE /*"SYGAL".*/"ACTEUR" ADD CONSTRAINT "ACTEUR_ETAB_ID_FK" FOREIGN KEY ("ACTEUR_ETABLISSEMENT_ID") - REFERENCES /*"SYGAL".*/"ETABLISSEMENT" ("ID") ON DELETE CASCADE ENABLE; - ALTER TABLE /*"SYGAL".*/"ACTEUR" ADD CONSTRAINT "ACTEUR_HC_FK" FOREIGN KEY ("HISTO_CREATEUR_ID") - REFERENCES /*"SYGAL".*/"UTILISATEUR" ("ID") ON DELETE CASCADE ENABLE; - ALTER TABLE /*"SYGAL".*/"ACTEUR" ADD CONSTRAINT "ACTEUR_HD_FK" FOREIGN KEY ("HISTO_DESTRUCTEUR_ID") - REFERENCES /*"SYGAL".*/"UTILISATEUR" ("ID") ON DELETE CASCADE ENABLE; - ALTER TABLE /*"SYGAL".*/"ACTEUR" ADD CONSTRAINT "ACTEUR_HM_FK" FOREIGN KEY ("HISTO_MODIFICATEUR_ID") - REFERENCES /*"SYGAL".*/"UTILISATEUR" ("ID") ON DELETE CASCADE ENABLE; - ALTER TABLE /*"SYGAL".*/"ACTEUR" ADD CONSTRAINT "ACTEUR_INDIV_FK" FOREIGN KEY ("INDIVIDU_ID") - REFERENCES /*"SYGAL".*/"INDIVIDU" ("ID") ON DELETE CASCADE ENABLE; - ALTER TABLE /*"SYGAL".*/"ACTEUR" ADD CONSTRAINT "ACTEUR_ROLE_ID_FK" FOREIGN KEY ("ROLE_ID") - REFERENCES /*"SYGAL".*/"ROLE" ("ID") ON DELETE CASCADE ENABLE; - ALTER TABLE /*"SYGAL".*/"ACTEUR" ADD CONSTRAINT "ACTEUR_SOURCE_FK" FOREIGN KEY ("SOURCE_ID") - REFERENCES /*"SYGAL".*/"SOURCE" ("ID") ON DELETE CASCADE ENABLE; - ALTER TABLE /*"SYGAL".*/"ACTEUR" ADD CONSTRAINT "ACTEUR_THESE_FK" FOREIGN KEY ("THESE_ID") - REFERENCES /*"SYGAL".*/"THESE" ("ID") ON DELETE CASCADE ENABLE; - ALTER TABLE /*"SYGAL".*/"ATTESTATION" ADD CONSTRAINT "ATTESTATION_HC_FK" FOREIGN KEY ("HISTO_CREATEUR_ID") - REFERENCES /*"SYGAL".*/"UTILISATEUR" ("ID") ON DELETE CASCADE ENABLE; - ALTER TABLE /*"SYGAL".*/"ATTESTATION" ADD CONSTRAINT "ATTESTATION_HD_FK" FOREIGN KEY ("HISTO_DESTRUCTEUR_ID") - REFERENCES /*"SYGAL".*/"UTILISATEUR" ("ID") ON DELETE CASCADE ENABLE; - ALTER TABLE /*"SYGAL".*/"ATTESTATION" ADD CONSTRAINT "ATTESTATION_HM_FK" FOREIGN KEY ("HISTO_MODIFICATEUR_ID") - REFERENCES /*"SYGAL".*/"UTILISATEUR" ("ID") ON DELETE CASCADE ENABLE; - ALTER TABLE /*"SYGAL".*/"ATTESTATION" ADD CONSTRAINT "ATTESTATION_THESE_FK" FOREIGN KEY ("THESE_ID") - REFERENCES /*"SYGAL".*/"THESE" ("ID") ON DELETE CASCADE ENABLE; - ALTER TABLE /*"SYGAL".*/"DIFFUSION" ADD CONSTRAINT "DIFFUSION_HC_FK" FOREIGN KEY ("HISTO_CREATEUR_ID") - REFERENCES /*"SYGAL".*/"UTILISATEUR" ("ID") ON DELETE CASCADE ENABLE; - ALTER TABLE /*"SYGAL".*/"DIFFUSION" ADD CONSTRAINT "DIFFUSION_HD_FK" FOREIGN KEY ("HISTO_DESTRUCTEUR_ID") - REFERENCES /*"SYGAL".*/"UTILISATEUR" ("ID") ON DELETE CASCADE ENABLE; - ALTER TABLE /*"SYGAL".*/"DIFFUSION" ADD CONSTRAINT "DIFFUSION_HM_FK" FOREIGN KEY ("HISTO_MODIFICATEUR_ID") - REFERENCES /*"SYGAL".*/"UTILISATEUR" ("ID") ON DELETE CASCADE ENABLE; - ALTER TABLE /*"SYGAL".*/"DOCTORANT_COMPL" ADD CONSTRAINT "DOCTORANT_COMPL_DOCTORANT_FK" FOREIGN KEY ("DOCTORANT_ID") - REFERENCES /*"SYGAL".*/"DOCTORANT" ("ID") ON DELETE CASCADE ENABLE; - ALTER TABLE /*"SYGAL".*/"DOCTORANT" ADD CONSTRAINT "DOCTORANT_ETAB_FK" FOREIGN KEY ("ETABLISSEMENT_ID") - REFERENCES /*"SYGAL".*/"ETABLISSEMENT" ("ID") ON DELETE CASCADE ENABLE; - ALTER TABLE /*"SYGAL".*/"DOCTORANT" ADD CONSTRAINT "DOCTORANT_HC_FK" FOREIGN KEY ("HISTO_CREATEUR_ID") - REFERENCES /*"SYGAL".*/"UTILISATEUR" ("ID") ON DELETE CASCADE ENABLE; - ALTER TABLE /*"SYGAL".*/"DOCTORANT" ADD CONSTRAINT "DOCTORANT_HD_FK" FOREIGN KEY ("HISTO_DESTRUCTEUR_ID") - REFERENCES /*"SYGAL".*/"UTILISATEUR" ("ID") ON DELETE CASCADE ENABLE; - ALTER TABLE /*"SYGAL".*/"DOCTORANT" ADD CONSTRAINT "DOCTORANT_HM_FK" FOREIGN KEY ("HISTO_MODIFICATEUR_ID") - REFERENCES /*"SYGAL".*/"UTILISATEUR" ("ID") ON DELETE CASCADE ENABLE; - ALTER TABLE /*"SYGAL".*/"DOCTORANT" ADD CONSTRAINT "DOCTORANT_INDIV_FK" FOREIGN KEY ("INDIVIDU_ID") - REFERENCES /*"SYGAL".*/"INDIVIDU" ("ID") ON DELETE CASCADE ENABLE; - ALTER TABLE /*"SYGAL".*/"DOCTORANT" ADD CONSTRAINT "DOCTORANT_SOURCE_FK" FOREIGN KEY ("SOURCE_ID") - REFERENCES /*"SYGAL".*/"SOURCE" ("ID") ON DELETE CASCADE ENABLE; - ALTER TABLE /*"SYGAL".*/"ECOLE_DOCT" ADD CONSTRAINT "ECOLE_DOCT_HCFK" FOREIGN KEY ("HISTO_CREATEUR_ID") - REFERENCES /*"SYGAL".*/"UTILISATEUR" ("ID") ON DELETE CASCADE ENABLE; - ALTER TABLE /*"SYGAL".*/"ECOLE_DOCT" ADD CONSTRAINT "ECOLE_DOCT_HDFK" FOREIGN KEY ("HISTO_DESTRUCTEUR_ID") - REFERENCES /*"SYGAL".*/"UTILISATEUR" ("ID") ON DELETE CASCADE ENABLE; - ALTER TABLE /*"SYGAL".*/"ECOLE_DOCT" ADD CONSTRAINT "ECOLE_DOCT_HMFK" FOREIGN KEY ("HISTO_MODIFICATEUR_ID") - REFERENCES /*"SYGAL".*/"UTILISATEUR" ("ID") ON DELETE CASCADE ENABLE; - ALTER TABLE /*"SYGAL".*/"ECOLE_DOCT" ADD CONSTRAINT "ECOLE_DOCT_SOURCE_FK" FOREIGN KEY ("SOURCE_ID") - REFERENCES /*"SYGAL".*/"SOURCE" ("ID") ON DELETE CASCADE ENABLE; - ALTER TABLE /*"SYGAL".*/"ECOLE_DOCT" ADD CONSTRAINT "ECOLE_DOCT_STRUCT_FK" FOREIGN KEY ("STRUCTURE_ID") - REFERENCES /*"SYGAL".*/"STRUCTURE" ("ID") ON DELETE CASCADE ENABLE; - ALTER TABLE /*"SYGAL".*/"ETABLISSEMENT" ADD CONSTRAINT "ETABLISSEMENT_SOURCE_FK" FOREIGN KEY ("SOURCE_ID") - REFERENCES /*"SYGAL".*/"SOURCE" ("ID") ON DELETE CASCADE ENABLE; - ALTER TABLE /*"SYGAL".*/"ETABLISSEMENT" ADD CONSTRAINT "ETAB_STRUCT_FK" FOREIGN KEY ("STRUCTURE_ID") - REFERENCES /*"SYGAL".*/"STRUCTURE" ("ID") ON DELETE CASCADE ENABLE; - ALTER TABLE /*"SYGAL".*/"ETABLISSEMENT" ADD CONSTRAINT "ETAB_UTIL_CREATEUR_FK" FOREIGN KEY ("HISTO_CREATEUR_ID") - REFERENCES /*"SYGAL".*/"UTILISATEUR" ("ID") ON DELETE CASCADE ENABLE; - ALTER TABLE /*"SYGAL".*/"ETABLISSEMENT" ADD CONSTRAINT "ETAB_UTIL_DESTRUCTEUR_FK" FOREIGN KEY ("HISTO_DESTRUCTEUR_ID") - REFERENCES /*"SYGAL".*/"UTILISATEUR" ("ID") ON DELETE CASCADE ENABLE; - ALTER TABLE /*"SYGAL".*/"ETABLISSEMENT" ADD CONSTRAINT "ETAB_UTIL_MODIFICATEUR_FK" FOREIGN KEY ("HISTO_MODIFICATEUR_ID") - REFERENCES /*"SYGAL".*/"UTILISATEUR" ("ID") ON DELETE CASCADE ENABLE; - ALTER TABLE /*"SYGAL".*/"FICHIER" ADD CONSTRAINT "FICHIER_HCFK" FOREIGN KEY ("HISTO_CREATEUR_ID") - REFERENCES /*"SYGAL".*/"UTILISATEUR" ("ID") ENABLE; - ALTER TABLE /*"SYGAL".*/"FICHIER" ADD CONSTRAINT "FICHIER_HDFK" FOREIGN KEY ("HISTO_DESTRUCTEUR_ID") - REFERENCES /*"SYGAL".*/"UTILISATEUR" ("ID") ENABLE; - ALTER TABLE /*"SYGAL".*/"FICHIER" ADD CONSTRAINT "FICHIER_HMFK" FOREIGN KEY ("HISTO_MODIFICATEUR_ID") - REFERENCES /*"SYGAL".*/"UTILISATEUR" ("ID") ENABLE; - ALTER TABLE /*"SYGAL".*/"FICHIER" ADD CONSTRAINT "FICHIER_NATURE_FIC_ID_FK" FOREIGN KEY ("NATURE_ID") - REFERENCES /*"SYGAL".*/"NATURE_FICHIER" ("ID") ENABLE; - ALTER TABLE /*"SYGAL".*/"FICHIER_THESE" ADD CONSTRAINT "FICHIER_THESE_FICHIER_FK" FOREIGN KEY ("FICHIER_ID") - REFERENCES /*"SYGAL".*/"FICHIER" ("ID") ON DELETE CASCADE ENABLE; - ALTER TABLE /*"SYGAL".*/"FICHIER_THESE" ADD CONSTRAINT "FICHIER_THESE_THESE_FK" FOREIGN KEY ("THESE_ID") - REFERENCES /*"SYGAL".*/"THESE" ("ID") ON DELETE CASCADE ENABLE; - ALTER TABLE /*"SYGAL".*/"FICHIER" ADD CONSTRAINT "FICHIER_VERSION_FK" FOREIGN KEY ("VERSION_FICHIER_ID") - REFERENCES /*"SYGAL".*/"VERSION_FICHIER" ("ID") ON DELETE CASCADE ENABLE; - ALTER TABLE /*"SYGAL".*/"FINANCEMENT" ADD CONSTRAINT "FINANCEMENT_HCFK" FOREIGN KEY ("HISTO_CREATEUR_ID") - REFERENCES /*"SYGAL".*/"UTILISATEUR" ("ID") ENABLE; - ALTER TABLE /*"SYGAL".*/"FINANCEMENT" ADD CONSTRAINT "FINANCEMENT_HDFK" FOREIGN KEY ("HISTO_DESTRUCTEUR_ID") - REFERENCES /*"SYGAL".*/"UTILISATEUR" ("ID") ENABLE; - ALTER TABLE /*"SYGAL".*/"FINANCEMENT" ADD CONSTRAINT "FINANCEMENT_HMFK" FOREIGN KEY ("HISTO_MODIFICATEUR_ID") - REFERENCES /*"SYGAL".*/"UTILISATEUR" ("ID") ENABLE; - ALTER TABLE /*"SYGAL".*/"FINANCEMENT" ADD CONSTRAINT "FINANCEMENT_SOURCE_FK" FOREIGN KEY ("SOURCE_ID") - REFERENCES /*"SYGAL".*/"SOURCE" ("ID") ENABLE; - ALTER TABLE /*"SYGAL".*/"IMPORT_OBSERV_ETAB" ADD CONSTRAINT "IMPORT_OBSERV_ETAB_ETAB_FK" FOREIGN KEY ("ETABLISSEMENT_ID") - REFERENCES /*"SYGAL".*/"IMPORT_OBSERV_ETAB" ("ID") ON DELETE CASCADE ENABLE; - ALTER TABLE /*"SYGAL".*/"IMPORT_OBSERV_ETAB" ADD CONSTRAINT "IMPORT_OBSERV_ETAB_OBSERV_FK" FOREIGN KEY ("IMPORT_OBSERV_ID") - REFERENCES /*"SYGAL".*/"IMPORT_OBSERV" ("ID") ON DELETE CASCADE ENABLE; - ALTER TABLE /*"SYGAL".*/"IMPORT_OBSERV_RESULT" ADD CONSTRAINT "IMPORT_OBSERV_RESULT_IOE_FK" FOREIGN KEY ("IMPORT_OBSERV_ETAB_ID") - REFERENCES /*"SYGAL".*/"IMPORT_OBSERV_ETAB" ("ID") ON DELETE CASCADE ENABLE; - ALTER TABLE /*"SYGAL".*/"INDIVIDU" ADD CONSTRAINT "INDIVIDU_HC_FK" FOREIGN KEY ("HISTO_CREATEUR_ID") - REFERENCES /*"SYGAL".*/"UTILISATEUR" ("ID") ON DELETE CASCADE ENABLE; - ALTER TABLE /*"SYGAL".*/"INDIVIDU" ADD CONSTRAINT "INDIVIDU_HD_FK" FOREIGN KEY ("HISTO_DESTRUCTEUR_ID") - REFERENCES /*"SYGAL".*/"UTILISATEUR" ("ID") ON DELETE CASCADE ENABLE; - ALTER TABLE /*"SYGAL".*/"INDIVIDU" ADD CONSTRAINT "INDIVIDU_HM_FK" FOREIGN KEY ("HISTO_MODIFICATEUR_ID") - REFERENCES /*"SYGAL".*/"UTILISATEUR" ("ID") ON DELETE CASCADE ENABLE; - ALTER TABLE /*"SYGAL".*/"INDIVIDU_ROLE" ADD CONSTRAINT "INDIVIDU_ROLE_IND_ID_FK" FOREIGN KEY ("INDIVIDU_ID") - REFERENCES /*"SYGAL".*/"INDIVIDU" ("ID") ON DELETE CASCADE ENABLE; - ALTER TABLE /*"SYGAL".*/"INDIVIDU_ROLE" ADD CONSTRAINT "INDIVIDU_ROLE_ROLE_ID_FK" FOREIGN KEY ("ROLE_ID") - REFERENCES /*"SYGAL".*/"ROLE" ("ID") ON DELETE CASCADE ENABLE; - ALTER TABLE /*"SYGAL".*/"INDIVIDU" ADD CONSTRAINT "INDIVIDU_SOURCE_FK" FOREIGN KEY ("SOURCE_ID") - REFERENCES /*"SYGAL".*/"SOURCE" ("ID") ON DELETE CASCADE ENABLE; - ALTER TABLE /*"SYGAL".*/"INFORMATION" ADD CONSTRAINT "INFORMATION_HCFK" FOREIGN KEY ("HISTO_CREATEUR_ID") - REFERENCES /*"SYGAL".*/"UTILISATEUR" ("ID") ENABLE; - ALTER TABLE /*"SYGAL".*/"INFORMATION" ADD CONSTRAINT "INFORMATION_HDFK" FOREIGN KEY ("HISTO_DESTRUCTEUR_ID") - REFERENCES /*"SYGAL".*/"UTILISATEUR" ("ID") ENABLE; - ALTER TABLE /*"SYGAL".*/"INFORMATION" ADD CONSTRAINT "INFORMATION_HMFK" FOREIGN KEY ("HISTO_MODIFICATEUR_ID") - REFERENCES /*"SYGAL".*/"UTILISATEUR" ("ID") ENABLE; - ALTER TABLE /*"SYGAL".*/"IMPORT_OBS_NOTIF" ADD CONSTRAINT "IOND__IO_FK" FOREIGN KEY ("IMPORT_OBSERV_ID") - REFERENCES /*"SYGAL".*/"IMPORT_OBSERV" ("ID") ON DELETE CASCADE ENABLE; - ALTER TABLE /*"SYGAL".*/"IMPORT_OBS_NOTIF" ADD CONSTRAINT "IOND__N_FK" FOREIGN KEY ("NOTIF_ID") - REFERENCES /*"SYGAL".*/"NOTIF" ("ID") ON DELETE CASCADE ENABLE; - ALTER TABLE /*"SYGAL".*/"IMPORT_OBS_RESULT_NOTIF" ADD CONSTRAINT "IORNR__IOR_FK" FOREIGN KEY ("IMPORT_OBSERV_RESULT_ID") - REFERENCES /*"SYGAL".*/"IMPORT_OBSERV_RESULT" ("ID") ON DELETE CASCADE ENABLE; - ALTER TABLE /*"SYGAL".*/"IMPORT_OBS_RESULT_NOTIF" ADD CONSTRAINT "IORNR__NR_FK" FOREIGN KEY ("NOTIF_RESULT_ID") - REFERENCES /*"SYGAL".*/"NOTIF_RESULT" ("ID") ON DELETE CASCADE ENABLE; - ALTER TABLE /*"SYGAL".*/"MAIL_CONFIRMATION" ADD CONSTRAINT "MAILCONFIRMATION_INDIVIDUID_FK" FOREIGN KEY ("INDIVIDU_ID") - REFERENCES /*"SYGAL".*/"INDIVIDU" ("ID") ENABLE; - ALTER TABLE /*"SYGAL".*/"METADONNEE_THESE" ADD CONSTRAINT "METADONNEE_THESE_THESE_ID_FK" FOREIGN KEY ("THESE_ID") - REFERENCES /*"SYGAL".*/"THESE" ("ID") ON DELETE CASCADE ENABLE; - ALTER TABLE /*"SYGAL".*/"DIFFUSION" ADD CONSTRAINT "MISE_EN_LIGNE_THESE_FK" FOREIGN KEY ("THESE_ID") - REFERENCES /*"SYGAL".*/"THESE" ("ID") ON DELETE CASCADE ENABLE; - ALTER TABLE /*"SYGAL".*/"NOTIF_RESULT" ADD CONSTRAINT "NOTIF_RESULT__NOTIF_FK" FOREIGN KEY ("NOTIF_ID") - REFERENCES /*"SYGAL".*/"NOTIF" ("ID") ON DELETE CASCADE ENABLE; - ALTER TABLE /*"SYGAL".*/"ORIGINE_FINANCEMENT" ADD CONSTRAINT "ORIGINE_FINANCEMENT_HCFK" FOREIGN KEY ("HISTO_CREATEUR_ID") - REFERENCES /*"SYGAL".*/"UTILISATEUR" ("ID") ENABLE; - ALTER TABLE /*"SYGAL".*/"ORIGINE_FINANCEMENT" ADD CONSTRAINT "ORIGINE_FINANCEMENT_HDFK" FOREIGN KEY ("HISTO_DESTRUCTEUR_ID") - REFERENCES /*"SYGAL".*/"UTILISATEUR" ("ID") ENABLE; - ALTER TABLE /*"SYGAL".*/"ORIGINE_FINANCEMENT" ADD CONSTRAINT "ORIGINE_FINANCEMENT_HMFK" FOREIGN KEY ("HISTO_MODIFICATEUR_ID") - REFERENCES /*"SYGAL".*/"UTILISATEUR" ("ID") ENABLE; - ALTER TABLE /*"SYGAL".*/"ORIGINE_FINANCEMENT" ADD CONSTRAINT "ORIGINE_FINANCEMENT_SOURCE_FK" FOREIGN KEY ("SOURCE_ID") - REFERENCES /*"SYGAL".*/"SOURCE" ("ID") ENABLE; - ALTER TABLE /*"SYGAL".*/"PROFIL_PRIVILEGE" ADD CONSTRAINT "PROFIL_PRIVILEGE_PROFIL_ID_FK" FOREIGN KEY ("PROFIL_ID") - REFERENCES /*"SYGAL".*/"PROFIL" ("ID") ENABLE; - ALTER TABLE /*"SYGAL".*/"PROFIL_TO_ROLE" ADD CONSTRAINT "PROFIL_TO_ROLE_PROFIL_ID_FK" FOREIGN KEY ("PROFIL_ID") - REFERENCES /*"SYGAL".*/"PROFIL" ("ID") ENABLE; - ALTER TABLE /*"SYGAL".*/"PROFIL_TO_ROLE" ADD CONSTRAINT "PROFIL_TO_ROLE_ROLE_ID_FK" FOREIGN KEY ("ROLE_ID") - REFERENCES /*"SYGAL".*/"ROLE" ("ID") ENABLE; - ALTER TABLE /*"SYGAL".*/"ETABLISSEMENT_RATTACH" ADD CONSTRAINT "RATTACHEMENT_ETAB_ID" FOREIGN KEY ("ETABLISSEMENT_ID") - REFERENCES /*"SYGAL".*/"ETABLISSEMENT" ("ID") ON DELETE CASCADE ENABLE; - ALTER TABLE /*"SYGAL".*/"ETABLISSEMENT_RATTACH" ADD CONSTRAINT "RATTACHEMENT_UNITE_ID" FOREIGN KEY ("UNITE_ID") - REFERENCES /*"SYGAL".*/"UNITE_RECH" ("ID") ON DELETE CASCADE ENABLE; - ALTER TABLE /*"SYGAL".*/"RDV_BU" ADD CONSTRAINT "RDV_BU_FK" FOREIGN KEY ("THESE_ID") - REFERENCES /*"SYGAL".*/"THESE" ("ID") ON DELETE CASCADE ENABLE; - ALTER TABLE /*"SYGAL".*/"RDV_BU" ADD CONSTRAINT "RDV_BU_HC_FK" FOREIGN KEY ("HISTO_CREATEUR_ID") - REFERENCES /*"SYGAL".*/"UTILISATEUR" ("ID") ON DELETE CASCADE ENABLE; - ALTER TABLE /*"SYGAL".*/"RDV_BU" ADD CONSTRAINT "RDV_BU_HD_FK" FOREIGN KEY ("HISTO_DESTRUCTEUR_ID") - REFERENCES /*"SYGAL".*/"UTILISATEUR" ("ID") ON DELETE CASCADE ENABLE; - ALTER TABLE /*"SYGAL".*/"RDV_BU" ADD CONSTRAINT "RDV_BU_HM_FK" FOREIGN KEY ("HISTO_MODIFICATEUR_ID") - REFERENCES /*"SYGAL".*/"UTILISATEUR" ("ID") ON DELETE CASCADE ENABLE; - ALTER TABLE /*"SYGAL".*/"PROFIL" ADD CONSTRAINT "ROLEMODELE_STRUCTURETYPE_FK" FOREIGN KEY ("STRUCTURE_TYPE") - REFERENCES /*"SYGAL".*/"TYPE_STRUCTURE" ("ID") ENABLE; - ALTER TABLE /*"SYGAL".*/"ROLE" ADD CONSTRAINT "ROLE_HC_FK" FOREIGN KEY ("HISTO_CREATEUR_ID") - REFERENCES /*"SYGAL".*/"UTILISATEUR" ("ID") ON DELETE CASCADE ENABLE; - ALTER TABLE /*"SYGAL".*/"ROLE" ADD CONSTRAINT "ROLE_HD_FK" FOREIGN KEY ("HISTO_DESTRUCTEUR_ID") - REFERENCES /*"SYGAL".*/"UTILISATEUR" ("ID") ON DELETE CASCADE ENABLE; - ALTER TABLE /*"SYGAL".*/"ROLE" ADD CONSTRAINT "ROLE_HM_FK" FOREIGN KEY ("HISTO_MODIFICATEUR_ID") - REFERENCES /*"SYGAL".*/"UTILISATEUR" ("ID") ON DELETE CASCADE ENABLE; - ALTER TABLE /*"SYGAL".*/"ROLE_PRIVILEGE" ADD CONSTRAINT "ROLE_PRIVILEGE_PRIV_ID_FK" FOREIGN KEY ("PRIVILEGE_ID") - REFERENCES /*"SYGAL".*/"PRIVILEGE" ("ID") ON DELETE CASCADE ENABLE; - ALTER TABLE /*"SYGAL".*/"ROLE_PRIVILEGE" ADD CONSTRAINT "ROLE_PRIVILEGE_ROLE_ID_FK" FOREIGN KEY ("ROLE_ID") - REFERENCES /*"SYGAL".*/"ROLE" ("ID") ON DELETE CASCADE ENABLE; - ALTER TABLE /*"SYGAL".*/"PROFIL_PRIVILEGE" ADD CONSTRAINT "ROLE_PRIV_MOD_PRIV_ID_FK" FOREIGN KEY ("PRIVILEGE_ID") - REFERENCES /*"SYGAL".*/"PRIVILEGE" ("ID") ON DELETE CASCADE ENABLE; - ALTER TABLE /*"SYGAL".*/"ROLE" ADD CONSTRAINT "ROLE_SOURCE_FK" FOREIGN KEY ("SOURCE_ID") - REFERENCES /*"SYGAL".*/"SOURCE" ("ID") ON DELETE CASCADE ENABLE; - ALTER TABLE /*"SYGAL".*/"ROLE" ADD CONSTRAINT "ROLE_STRUCTURE_ID_FK" FOREIGN KEY ("STRUCTURE_ID") - REFERENCES /*"SYGAL".*/"STRUCTURE" ("ID") ON DELETE CASCADE ENABLE; - ALTER TABLE /*"SYGAL".*/"ROLE" ADD CONSTRAINT "ROLE_TYPE_STRUCT_ID_FK" FOREIGN KEY ("TYPE_STRUCTURE_DEPENDANT_ID") - REFERENCES /*"SYGAL".*/"TYPE_STRUCTURE" ("ID") ON DELETE CASCADE ENABLE; - ALTER TABLE /*"SYGAL".*/"SOURCE" ADD CONSTRAINT "SOURCE_ETABLISSEMENT_ID_FK" FOREIGN KEY ("ETABLISSEMENT_ID") - REFERENCES /*"SYGAL".*/"ETABLISSEMENT" ("ID") ENABLE; - ALTER TABLE /*"SYGAL".*/"STRUCTURE" ADD CONSTRAINT "STRUCTURE_HCFK" FOREIGN KEY ("HISTO_CREATEUR_ID") - REFERENCES /*"SYGAL".*/"UTILISATEUR" ("ID") ENABLE; - ALTER TABLE /*"SYGAL".*/"STRUCTURE" ADD CONSTRAINT "STRUCTURE_HDFK" FOREIGN KEY ("HISTO_DESTRUCTEUR_ID") - REFERENCES /*"SYGAL".*/"UTILISATEUR" ("ID") ENABLE; - ALTER TABLE /*"SYGAL".*/"STRUCTURE" ADD CONSTRAINT "STRUCTURE_HMFK" FOREIGN KEY ("HISTO_MODIFICATEUR_ID") - REFERENCES /*"SYGAL".*/"UTILISATEUR" ("ID") ENABLE; - ALTER TABLE /*"SYGAL".*/"STRUCTURE" ADD CONSTRAINT "STRUCTURE_SOURCE_FK" FOREIGN KEY ("SOURCE_ID") - REFERENCES /*"SYGAL".*/"SOURCE" ("ID") ENABLE; - ALTER TABLE /*"SYGAL".*/"STRUCTURE" ADD CONSTRAINT "STRUCTURE_TYPE_STRUCTURE_ID_FK" FOREIGN KEY ("TYPE_STRUCTURE_ID") - REFERENCES /*"SYGAL".*/"TYPE_STRUCTURE" ("ID") ON DELETE CASCADE ENABLE; - ALTER TABLE /*"SYGAL".*/"STRUCTURE_SUBSTIT" ADD CONSTRAINT "STR_SUBSTIT_CREATEUR_FK" FOREIGN KEY ("HISTO_CREATEUR_ID") - REFERENCES /*"SYGAL".*/"UTILISATEUR" ("ID") ENABLE; - ALTER TABLE /*"SYGAL".*/"STRUCTURE_SUBSTIT" ADD CONSTRAINT "STR_SUBSTIT_DESTRUCTEUR_FK" FOREIGN KEY ("HISTO_DESTRUCTEUR_ID") - REFERENCES /*"SYGAL".*/"UTILISATEUR" ("ID") ENABLE; - ALTER TABLE /*"SYGAL".*/"STRUCTURE_SUBSTIT" ADD CONSTRAINT "STR_SUBSTIT_MODIFICATEUR_FK" FOREIGN KEY ("HISTO_MODIFICATEUR_ID") - REFERENCES /*"SYGAL".*/"UTILISATEUR" ("ID") ENABLE; - ALTER TABLE /*"SYGAL".*/"STRUCTURE_SUBSTIT" ADD CONSTRAINT "STR_SUBSTIT_STR_FROM_FK" FOREIGN KEY ("FROM_STRUCTURE_ID") - REFERENCES /*"SYGAL".*/"STRUCTURE" ("ID") ON DELETE CASCADE ENABLE; - ALTER TABLE /*"SYGAL".*/"STRUCTURE_SUBSTIT" ADD CONSTRAINT "STR_SUBSTIT_STR_TO_FK" FOREIGN KEY ("TO_STRUCTURE_ID") - REFERENCES /*"SYGAL".*/"STRUCTURE" ("ID") ON DELETE CASCADE ENABLE; - ALTER TABLE /*"SYGAL".*/"PRIVILEGE" ADD FOREIGN KEY ("CATEGORIE_ID") - REFERENCES /*"SYGAL".*/"CATEGORIE_PRIVILEGE" ("ID") ON DELETE CASCADE ENABLE; - ALTER TABLE /*"SYGAL".*/"DOCTORANT_COMPL" ADD CONSTRAINT "THESARD_COMPL_HCFK" FOREIGN KEY ("HISTO_CREATEUR_ID") - REFERENCES /*"SYGAL".*/"UTILISATEUR" ("ID") ENABLE; - ALTER TABLE /*"SYGAL".*/"DOCTORANT_COMPL" ADD CONSTRAINT "THESARD_COMPL_HDFK" FOREIGN KEY ("HISTO_DESTRUCTEUR_ID") - REFERENCES /*"SYGAL".*/"UTILISATEUR" ("ID") ENABLE; - ALTER TABLE /*"SYGAL".*/"DOCTORANT_COMPL" ADD CONSTRAINT "THESARD_COMPL_HMFK" FOREIGN KEY ("HISTO_MODIFICATEUR_ID") - REFERENCES /*"SYGAL".*/"UTILISATEUR" ("ID") ENABLE; - ALTER TABLE /*"SYGAL".*/"THESE_ANNEE_UNIV" ADD CONSTRAINT "THESE_ANNEE_UNIV_HC_FK" FOREIGN KEY ("HISTO_CREATEUR_ID") - REFERENCES /*"SYGAL".*/"UTILISATEUR" ("ID") ON DELETE CASCADE ENABLE; - ALTER TABLE /*"SYGAL".*/"THESE_ANNEE_UNIV" ADD CONSTRAINT "THESE_ANNEE_UNIV_HD_FK" FOREIGN KEY ("HISTO_DESTRUCTEUR_ID") - REFERENCES /*"SYGAL".*/"UTILISATEUR" ("ID") ON DELETE CASCADE ENABLE; - ALTER TABLE /*"SYGAL".*/"THESE_ANNEE_UNIV" ADD CONSTRAINT "THESE_ANNEE_UNIV_HM_FK" FOREIGN KEY ("HISTO_MODIFICATEUR_ID") - REFERENCES /*"SYGAL".*/"UTILISATEUR" ("ID") ON DELETE CASCADE ENABLE; - ALTER TABLE /*"SYGAL".*/"THESE_ANNEE_UNIV" ADD CONSTRAINT "THESE_ANNEE_UNIV_SOURCE_FK" FOREIGN KEY ("SOURCE_ID") - REFERENCES /*"SYGAL".*/"SOURCE" ("ID") ON DELETE CASCADE ENABLE; - ALTER TABLE /*"SYGAL".*/"THESE_ANNEE_UNIV" ADD CONSTRAINT "THESE_ANNEE_UNIV_THESE_ID_FK" FOREIGN KEY ("THESE_ID") - REFERENCES /*"SYGAL".*/"THESE" ("ID") ON DELETE CASCADE ENABLE; - ALTER TABLE /*"SYGAL".*/"THESE" ADD CONSTRAINT "THESE_DOCTORANT_FK" FOREIGN KEY ("DOCTORANT_ID") - REFERENCES /*"SYGAL".*/"DOCTORANT" ("ID") ON DELETE CASCADE ENABLE; - ALTER TABLE /*"SYGAL".*/"THESE" ADD CONSTRAINT "THESE_ECOLE_DOCT_FK" FOREIGN KEY ("ECOLE_DOCT_ID") - REFERENCES /*"SYGAL".*/"ECOLE_DOCT" ("ID") ON DELETE CASCADE ENABLE; - ALTER TABLE /*"SYGAL".*/"THESE" ADD CONSTRAINT "THESE_ETAB_FK" FOREIGN KEY ("ETABLISSEMENT_ID") - REFERENCES /*"SYGAL".*/"ETABLISSEMENT" ("ID") ON DELETE CASCADE ENABLE; - ALTER TABLE /*"SYGAL".*/"THESE" ADD CONSTRAINT "THESE_HC_FK" FOREIGN KEY ("HISTO_CREATEUR_ID") - REFERENCES /*"SYGAL".*/"UTILISATEUR" ("ID") ON DELETE CASCADE ENABLE; - ALTER TABLE /*"SYGAL".*/"THESE" ADD CONSTRAINT "THESE_HD_FK" FOREIGN KEY ("HISTO_DESTRUCTEUR_ID") - REFERENCES /*"SYGAL".*/"UTILISATEUR" ("ID") ON DELETE CASCADE ENABLE; - ALTER TABLE /*"SYGAL".*/"THESE" ADD CONSTRAINT "THESE_HM_FK" FOREIGN KEY ("HISTO_MODIFICATEUR_ID") - REFERENCES /*"SYGAL".*/"UTILISATEUR" ("ID") ON DELETE CASCADE ENABLE; - ALTER TABLE /*"SYGAL".*/"THESE" ADD CONSTRAINT "THESE_SOURCE_FK" FOREIGN KEY ("SOURCE_ID") - REFERENCES /*"SYGAL".*/"SOURCE" ("ID") ON DELETE CASCADE ENABLE; - ALTER TABLE /*"SYGAL".*/"THESE" ADD CONSTRAINT "THESE_UNITE_RECH_FK" FOREIGN KEY ("UNITE_RECH_ID") - REFERENCES /*"SYGAL".*/"UNITE_RECH" ("ID") ON DELETE CASCADE ENABLE; - ALTER TABLE /*"SYGAL".*/"TITRE_ACCES" ADD CONSTRAINT "TITRE_ACCES_HC_FK" FOREIGN KEY ("HISTO_CREATEUR_ID") - REFERENCES /*"SYGAL".*/"UTILISATEUR" ("ID") ON DELETE CASCADE ENABLE; - ALTER TABLE /*"SYGAL".*/"TITRE_ACCES" ADD CONSTRAINT "TITRE_ACCES_HD_FK" FOREIGN KEY ("HISTO_DESTRUCTEUR_ID") - REFERENCES /*"SYGAL".*/"UTILISATEUR" ("ID") ON DELETE CASCADE ENABLE; - ALTER TABLE /*"SYGAL".*/"TITRE_ACCES" ADD CONSTRAINT "TITRE_ACCES_HM_FK" FOREIGN KEY ("HISTO_MODIFICATEUR_ID") - REFERENCES /*"SYGAL".*/"UTILISATEUR" ("ID") ON DELETE CASCADE ENABLE; - ALTER TABLE /*"SYGAL".*/"TITRE_ACCES" ADD CONSTRAINT "TITRE_ACCES_SOURCE_FK" FOREIGN KEY ("SOURCE_ID") - REFERENCES /*"SYGAL".*/"SOURCE" ("ID") ON DELETE CASCADE ENABLE; - ALTER TABLE /*"SYGAL".*/"TITRE_ACCES" ADD CONSTRAINT "TITRE_ACCES_THESE_ID_FK" FOREIGN KEY ("THESE_ID") - REFERENCES /*"SYGAL".*/"THESE" ("ID") ON DELETE CASCADE ENABLE; - ALTER TABLE /*"SYGAL".*/"UNITE_RECH" ADD CONSTRAINT "UNITE_RECH_COMPL_HCFK" FOREIGN KEY ("HISTO_CREATEUR_ID") - REFERENCES /*"SYGAL".*/"UTILISATEUR" ("ID") ON DELETE CASCADE ENABLE; - ALTER TABLE /*"SYGAL".*/"UNITE_RECH" ADD CONSTRAINT "UNITE_RECH_COMPL_HDFK" FOREIGN KEY ("HISTO_DESTRUCTEUR_ID") - REFERENCES /*"SYGAL".*/"UTILISATEUR" ("ID") ON DELETE CASCADE ENABLE; - ALTER TABLE /*"SYGAL".*/"UNITE_RECH" ADD CONSTRAINT "UNITE_RECH_COMPL_HMFK" FOREIGN KEY ("HISTO_MODIFICATEUR_ID") - REFERENCES /*"SYGAL".*/"UTILISATEUR" ("ID") ON DELETE CASCADE ENABLE; - ALTER TABLE /*"SYGAL".*/"UNITE_RECH" ADD CONSTRAINT "UNITE_RECH_SOURCE_FK" FOREIGN KEY ("SOURCE_ID") - REFERENCES /*"SYGAL".*/"SOURCE" ("ID") ON DELETE CASCADE ENABLE; - ALTER TABLE /*"SYGAL".*/"UNITE_RECH" ADD CONSTRAINT "UNITE_RECH_STRUCT_FK" FOREIGN KEY ("STRUCTURE_ID") - REFERENCES /*"SYGAL".*/"STRUCTURE" ("ID") ON DELETE CASCADE ENABLE; - ALTER TABLE /*"SYGAL".*/"UTILISATEUR" ADD CONSTRAINT "UTILISATEUR_INDIVIDU_FK" FOREIGN KEY ("INDIVIDU_ID") - REFERENCES /*"SYGAL".*/"INDIVIDU" ("ID") ON DELETE SET NULL ENABLE; - ALTER TABLE /*"SYGAL".*/"VALIDATION" ADD CONSTRAINT "VALIDATION_HCFK" FOREIGN KEY ("HISTO_CREATEUR_ID") - REFERENCES /*"SYGAL".*/"UTILISATEUR" ("ID") ENABLE; - ALTER TABLE /*"SYGAL".*/"VALIDATION" ADD CONSTRAINT "VALIDATION_HDFK" FOREIGN KEY ("HISTO_DESTRUCTEUR_ID") - REFERENCES /*"SYGAL".*/"UTILISATEUR" ("ID") ENABLE; - ALTER TABLE /*"SYGAL".*/"VALIDATION" ADD CONSTRAINT "VALIDATION_HMFK" FOREIGN KEY ("HISTO_MODIFICATEUR_ID") - REFERENCES /*"SYGAL".*/"UTILISATEUR" ("ID") ENABLE; - ALTER TABLE /*"SYGAL".*/"VALIDATION" ADD CONSTRAINT "VALIDATION_INDIVIDU_ID_FK" FOREIGN KEY ("INDIVIDU_ID") - REFERENCES /*"SYGAL".*/"INDIVIDU" ("ID") ON DELETE CASCADE ENABLE; - ALTER TABLE /*"SYGAL".*/"VALIDATION" ADD CONSTRAINT "VALIDATION_THESE_FK" FOREIGN KEY ("THESE_ID") - REFERENCES /*"SYGAL".*/"THESE" ("ID") ON DELETE CASCADE ENABLE; - ALTER TABLE /*"SYGAL".*/"VALIDATION" ADD CONSTRAINT "VALIDATION_TYPE_VALIDATION_FK" FOREIGN KEY ("TYPE_VALIDATION_ID") - REFERENCES /*"SYGAL".*/"TYPE_VALIDATION" ("ID") ON DELETE CASCADE ENABLE; - ALTER TABLE /*"SYGAL".*/"VALIDITE_FICHIER" ADD CONSTRAINT "VALIDITE_FICHIER_FFK" FOREIGN KEY ("FICHIER_ID") - REFERENCES /*"SYGAL".*/"FICHIER" ("ID") ON DELETE CASCADE ENABLE; - ALTER TABLE /*"SYGAL".*/"VALIDITE_FICHIER" ADD CONSTRAINT "VALIDITE_FICHIER_HCFK" FOREIGN KEY ("HISTO_CREATEUR_ID") - REFERENCES /*"SYGAL".*/"UTILISATEUR" ("ID") ENABLE; - ALTER TABLE /*"SYGAL".*/"VALIDITE_FICHIER" ADD CONSTRAINT "VALIDITE_FICHIER_HDFK" FOREIGN KEY ("HISTO_DESTRUCTEUR_ID") - REFERENCES /*"SYGAL".*/"UTILISATEUR" ("ID") ENABLE; - ALTER TABLE /*"SYGAL".*/"VALIDITE_FICHIER" ADD CONSTRAINT "VALIDITE_FICHIER_HMFK" FOREIGN KEY ("HISTO_MODIFICATEUR_ID") - REFERENCES /*"SYGAL".*/"UTILISATEUR" ("ID") ENABLE; - ALTER TABLE /*"SYGAL".*/"VARIABLE" ADD CONSTRAINT "VARIABLE_ETAB_FK" FOREIGN KEY ("ETABLISSEMENT_ID") - REFERENCES /*"SYGAL".*/"ETABLISSEMENT" ("ID") ON DELETE CASCADE ENABLE; - ALTER TABLE /*"SYGAL".*/"VARIABLE" ADD CONSTRAINT "VARIABLE_HC_FK" FOREIGN KEY ("HISTO_CREATEUR_ID") - REFERENCES /*"SYGAL".*/"UTILISATEUR" ("ID") ON DELETE CASCADE ENABLE; - ALTER TABLE /*"SYGAL".*/"VARIABLE" ADD CONSTRAINT "VARIABLE_HD_FK" FOREIGN KEY ("HISTO_MODIFICATEUR_ID") - REFERENCES /*"SYGAL".*/"UTILISATEUR" ("ID") ON DELETE CASCADE ENABLE; - ALTER TABLE /*"SYGAL".*/"VARIABLE" ADD CONSTRAINT "VARIABLE_HM_FK" FOREIGN KEY ("HISTO_DESTRUCTEUR_ID") - REFERENCES /*"SYGAL".*/"UTILISATEUR" ("ID") ON DELETE CASCADE ENABLE; - ALTER TABLE /*"SYGAL".*/"VARIABLE" ADD CONSTRAINT "VARIABLE_SOURCE_FK" FOREIGN KEY ("SOURCE_ID") - REFERENCES /*"SYGAL".*/"SOURCE" ("ID") ON DELETE CASCADE ENABLE; \ No newline at end of file diff --git a/database/04-crea-comue.sql b/database/04-crea-comue.sql deleted file mode 100644 index 4fa073ac99904a29807e10c0ff3590be6c58ff68..0000000000000000000000000000000000000000 --- a/database/04-crea-comue.sql +++ /dev/null @@ -1,25 +0,0 @@ --- --- Avec ou sans COMUE ? --- - --- --- Pour faire simple, si le logo de votre COMUE doit figurer sur la page de couverture des thèses --- (page générée par l'appli), alors personnalisez puis lancez les 2 inserts ci-dessous pour créer --- un établissement "COMUE" dans la base de données, sinon passez votre chemin. --- - -INSERT INTO STRUCTURE (ID, SOURCE_CODE, SIGLE, LIBELLE, TYPE_STRUCTURE_ID, SOURCE_ID, CODE, HISTO_CREATEUR_ID, HISTO_MODIFICATEUR_ID) -select - STRUCTURE_ID_SEQ.nextval, 'COMUE', - 'NU', --> sigle ou abbréviation à personnaliser - 'Normandie Université', --> libellé à personnaliser - null, 1, 'COMUE', 1, 1 -from dual; - -INSERT INTO ETABLISSEMENT (ID, STRUCTURE_ID, DOMAINE, SOURCE_ID, SOURCE_CODE, EST_COMUE, EST_MEMBRE, HISTO_CREATEUR_ID, HISTO_MODIFICATEUR_ID) -select - ETABLISSEMENT_ID_SEQ.nextval, s.ID, - 'normandie-univ.fr', --> domaine à personnaliser - 1, 'COMUE', 1, 0, 1, 1 -from STRUCTURE s -where s.SOURCE_CODE = 'COMUE'; diff --git a/database/05-init.sql b/database/05-init.sql deleted file mode 100644 index 350c3ff731a3ce853d45507959e1a754d3b0ffb8..0000000000000000000000000000000000000000 --- a/database/05-init.sql +++ /dev/null @@ -1,120 +0,0 @@ --- --- INIT --- --- ATTENTION, ce sript doit être personnalisé pour votre contexte : --- --- Remplacez "UCN" par le code SyGAL de votre établissement (ex: "UTLN"). --- Remplacez "Unicaen" par l'intitulé court de votre établissement (ex: "UTLN"). --- Remplacez "Université de Caen Normandie" par l'intitulé long de votre établissement (ex: "Université de Toulon"). --- --- Faites-le avec sed, ex : --- cat 05-init.sql | sed "s/'UCN/\'UTLN\'/g" | sed "s/Unicaen/UTLN/g" | sed "s/Caen Normandie/Toulon/g" > 04-init-utln.sql --- - - --- --- Création de l'établissement. --- --- 1/ STRUCTURE --- À personnaliser : --- - colonnes SOURCE_CODE et CODE : remplacer 'UCN' par le code établissement choisi, ex: 'UNILIM' --- - colonne SIGLE : remplacer 'Unicaen' par le sigle ou libellé court choisi, ex: 'Unilim' --- - colonne LIBELLE : remplacer 'Université de Caen Normandie' par le libellé choisi, ex: 'Université de Limoges' --- -INSERT INTO STRUCTURE (ID, SOURCE_CODE, CODE, SIGLE, LIBELLE, TYPE_STRUCTURE_ID, SOURCE_ID, HISTO_CREATEUR_ID, HISTO_MODIFICATEUR_ID) -select - STRUCTURE_ID_SEQ.nextval, - 'UCN', - 'UCN', - 'Unicaen', - 'Université de Caen Normandie', - 1, 1, - 1, 1 -from dual; -/ --- --- 2/ ETABLISSEMENT --- À personnaliser : --- - colonne DOMAINE : remplacer 'unicaen.fr' par votre domaine, ex: 'unilim.fr' --- - colonne SOURCE_CODE : remplacer 'UCN' par le code établissement choisi, ex: 'UNILIM' --- - colonne EST_COMUE : mettre à 1 si l'établissement est une COMUE --- - where : remplacer 'UCN' par le code établissement choisi, ex: 'UNILIM' --- -INSERT INTO ETABLISSEMENT (ID, STRUCTURE_ID, DOMAINE, SOURCE_CODE, EST_COMUE, EST_MEMBRE, SOURCE_ID, HISTO_CREATEUR_ID, HISTO_MODIFICATEUR_ID) -select - ETABLISSEMENT_ID_SEQ.nextval, - s.ID, - 'unicaen.fr', - 'UCN', - 0, - 1, - 1, - 1, 1 -from STRUCTURE s -where s.SOURCE_CODE = 'UCN'; -/ - --- --- Création des sources de données importables, ex: Apogée. --- --- À personnaliser : --- - where : remplacer 'UCN' par le code établissement choisi, ex: 'UNILIM' --- -INSERT INTO SOURCE (ID, CODE, LIBELLE, IMPORTABLE, ETABLISSEMENT_ID) -SELECT 2, SOURCE_CODE||'::apogee', 'Apogée '||SOURCE_CODE, 1, ID -from ETABLISSEMENT -where SOURCE_CODE = 'UCN' --> à remplacer par le code choisi *entre apostrophe*, ex: 'UCN' -/ - --- --- Rôles par établissement. --- --- À personnaliser : --- - where : remplacer 'UCN' par le code établissement choisi, ex: 'UNILIM' --- -INSERT INTO ROLE ( - ID, - CODE, - LIBELLE, - SOURCE_CODE, - SOURCE_ID, - ROLE_ID, - THESE_DEP, - HISTO_CREATEUR_ID, - HISTO_MODIFICATEUR_ID, - STRUCTURE_ID, - TYPE_STRUCTURE_DEPENDANT_ID -) -WITH tmp(CODE, LIBELLE, THESE_DEP) as ( - select 'ADMIN', 'Administrateur', 0 from dual union - select 'MDD', 'Maison du doctorat', 0 from dual union - select 'BU', 'Bibliothèque universitaire', 0 from dual union - select 'DOCTORANT', 'Doctorant', 1 from dual -) -SELECT - ROLE_ID_SEQ.nextval, - tmp.CODE, - tmp.LIBELLE, - s.SOURCE_CODE || '::' || tmp.CODE, - 1, - tmp.LIBELLE || ' ' || s.SOURCE_CODE, - tmp.THESE_DEP, - 1, - 1, - s.ID, - 1 -FROM tmp, STRUCTURE s -WHERE s.SOURCE_CODE = 'UCN' --> à remplacer par le code choisi *entre apostrophe*, ex: 'UCN' -/ - --- --- Accord des privilèges de gestion des privilèges au rôle ADMIN_TECH. --- NB: cela débloque l'accès au menu "Droits d'accès" dans l'appli. --- -insert into ROLE_PRIVILEGE(ROLE_ID, PRIVILEGE_ID) -select r.id, p.id -from role r, privilege p, CATEGORIE_PRIVILEGE cp -where r.SOURCE_CODE = 'ADMIN_TECH' - and cp.CODE = 'droit' - and p.CATEGORIE_ID = cp.id -/ diff --git a/database/06-test.sql b/database/06-test.sql deleted file mode 100644 index c9c6bebbf2f6280ddfb00e6b5f353683070ccac6..0000000000000000000000000000000000000000 --- a/database/06-test.sql +++ /dev/null @@ -1,40 +0,0 @@ --- --- Données de test. --- --- - - --- --- Création de l'individu/utilisateur de test --- -INSERT INTO INDIVIDU (ID, CIVILITE, NOM_USUEL, NOM_PATRONYMIQUE, PRENOM1, EMAIL, SOURCE_CODE, SUPANN_ID, SOURCE_ID, HISTO_CREATEUR_ID, HISTO_MODIFICATEUR_ID) -select INDIVIDU_ID_SEQ.nextval, - 'M.', - 'Premier', - 'Premier', - 'François', - 'francois.premier@univ.fr', - 'INCONNU::00012345', - '00012345', - 1, 1, 1 -from dual -/ -INSERT INTO UTILISATEUR (ID, USERNAME, EMAIL, DISPLAY_NAME, PASSWORD, INDIVIDU_ID) -select UTILISATEUR_ID_SEQ.nextval, - 'premierf@univ.fr', -- EPPN (si shibboleth activé) ou supannAliasLogin (si LDAP activé) - 'francois.premier@univ.fr', - 'François PREMIER', - 'shib', -- 'shib' (auth shibboleth), ou 'ldap' (auth LDAP), ou mdp bcrypté (auth locale) - i.ID -from INDIVIDU i -where i.SOURCE_CODE = 'INCONNU::00012345' -/ - --- --- /!\ Attribution du rôle Admin tech à l'utilisateur de test !! --- -INSERT INTO INDIVIDU_ROLE(ID, INDIVIDU_ID, ROLE_ID) -select INDIVIDU_ROLE_ID_SEQ.nextval, i.ID, r.ID from INDIVIDU i, ROLE r -where i.SOURCE_CODE = 'INCONNU::00012345' - and r.SOURCE_CODE = 'ADMIN_TECH' -/ diff --git a/database/README.md b/database/README.md deleted file mode 100644 index dc1f64cfb7c2ff16fe0b97d78df822ac1fb60733..0000000000000000000000000000000000000000 --- a/database/README.md +++ /dev/null @@ -1,66 +0,0 @@ -Création de la base de données -============================== - -## Création de la base de données - -Charge à vous de créer une base de données Oracle vide quelque part. -Ou pourquoi pas 2 bases de données : une base de PROD (ex: `SYGLPROD`) et une base de TEST (ex: `SYGLTEST`). -Voire même une 3e si vous envisagez de collaborer au développement ! - -## Création de tablespace, user, etc. - -- Script [`00-crea-users.sql`](00-crea-users.sql) - -Vous devez adapter ce script avant de le lancer, lisez bien les commentaires en début de script. -Une fois ces adaptations faites, vous pourrez lancer le script. - -## Création des objets de la base de données - -- Script [`00-oracle-generate-schema-SYGAL.sql`](00-oracle-generate-schema-SYGAL.sql) - -Vous pouvez lancer ce script sans modifier quoi que ce soit. - -Si l'erreur Oracle `ORA-00922: option erronée ou absente` est rencontrée, -c'est que `SET SQLBLANKLINES ON;` n'est pas compris par le client SQL que vous utilisez. -Supprimez cette première ligne et relancez le script. - -## Insertion des données de base - -- Script [`01-bootstrap.sql`](01-bootstrap.sql) - -Vous pouvez lancer ce script sans modifier quoi que ce soit. - -- Scripts du répertoire [`02-inserts`](02-inserts) - -Vous pouvez lancer ces scripts sans les modifier et dans l'ordre que vous voulez puisque les contraintes de références -entre tables ne sont pas encore créées. - -Si l'erreur Oracle `ORA-00922: option erronée ou absente` est rencontrée à la première ligne d'un script, -c'est que `set define off ;` n'est pas supporté par le client SQL que vous utilisez. -Si cette erreur a bloqué les INSERT situés après, supprimez cette ligne et relancez le script. - -## Création des contraintes de référence - -- Script [`03-oracle-generate-ref-constraints-SYGAL.sql`](03-oracle-generate-ref-constraints-SYGAL.sql) - -Vous pouvez lancer ce script sans modifier quoi que ce soit. - -## Création éventuelle d'une COMUE - -- Script [`04-crea-comue.sql`](04-crea-comue.sql) - -Lisez ce script pour décider si vous devez l'utiliser. - -## Insertion des données de base (suite et fin) - -- Script [`05-init.sql`](05-init.sql) - -Vous devez adapter ce script avant de le lancer, lisez bien les commentaires en début de script. -Une fois ces adaptations faites, vous pourrez lancer le script. - -## Insertion des données de test - -- Script [`06-test.sql`](06-test.sql) - -Lancez ce script pour créer un utilisateur de test "premierf@univ.fr " et lui attribuer le rôle -"Administrateur technique" (!)