IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PL/SQL Oracle Discussion :

[oracle][php]creation de trigger


Sujet :

PL/SQL Oracle

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 4
    Par défaut [oracle][php]creation de trigger
    Bonjour à toutes et à tous!

    Ce forum m'a été d'une très grande aide jusqu'à maintenant mais la je suis bloqué...Je me permet donc de vouc soumettre mon problème (à mon avis pas grand chose...) :

    Voila je souhaite faire une page dsu style config.php dans laquelle je créé toutes mes tables,triggers,packages,procédures, etc...Pour les tables pas de prob! Mais au moments d'attaquer les trigger, oracle me renvoi ce message :

    ORA-24344: opération réussie avec erreur de compilation :
    create or replace trigger interdictionSuppAbsence before delete on PERSONNEL begin raise_application_error(-20000,'Vous ne pouvez pas supprimer une absence'); end;
    Je precise que j'ai tester mon trigger directement sous oracle et qu'il me le créé sans erreur (apres avoir rajouter le / à la fin bien sur).

    Voici mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    $sql='create or replace trigger interdictionSuppAbsence
    before delete on PERSONNEL
    begin
     raise_application_error(-20000,\'Vous ne pouvez pas supprimer une absence\');
    end;
    ';
    $stmt=@oci_parse($connect,$sql);
    if(!$stmt){
    	$e = @oci_error($connect);
    		echo '<div id="erreur">'.htmlentities($e['message']).'</div>';
    }
    else{
    	$req=@oci_execute($stmt);
    	if(!$req){
    		$e =@oci_error($stmt); 
    		echo '<div id="erreur">'.htmlentities($e['message']).' :<br /> '.htmlentities($e['sqltext']).'</div>';
    	}
    	else{
    		echo '<div id="valide">Trigger : interdiction suppression absence créé</div>';
    	}
    }
    Merci d'avance pour l'attention que vous porterez à mon problème!

    Antoine

  2. #2
    Expert éminent
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Par défaut
    quel étrange idée que de créer un trigger en PHP

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 4
    Par défaut
    lol En fait j'aimerais pouvoir "initialiser" ma base grace a l'appli. L'utilisateur (mon prof dans ce cas la ^^) n'ayant qu'a créer un compte oracle et lancer le fichier php. Mais si vous me proposez une methode plus joli je suis preneur

    Merci de repondre aussi vite!

    Antoine

  4. #4
    Expert éminent
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Par défaut
    bah un fichier SQL ce serait plus conforme à ce qu'on fait dans la vrai vie

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 4
    Par défaut
    Ok!

    Donc je met toute mes requettes les une a la suite des autres dans un fichier .sql que je pourrais directement importer apres? c'est ca? L'impoert doit se faire via oracle ou peut il se faire via php?

    Merci!

    Antoine

  6. #6
    Expert éminent
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Par défaut
    non, tu n'importes rien, tu exécutes le fichier dans SQL*Plus

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 4
    Par défaut
    Ok je vais chercher la commande pour executer le fichier dans sql*plus!
    Merci pour ton aide!

Discussions similaires

  1. probleme charset oracle php
    Par mickjack dans le forum Oracle
    Réponses: 7
    Dernier message: 19/10/2011, 17h03
  2. [PHP5.2][MySQL5.0.27] Creation de triggers depuis PHP
    Par frochard dans le forum SQL Procédural
    Réponses: 4
    Dernier message: 05/12/2006, 10h16
  3. [PL/SQL] Creation de triggers dans transaction
    Par globeriding dans le forum Oracle
    Réponses: 15
    Dernier message: 07/02/2006, 11h33
  4. [Syntaxe Oracle/Sybase] désactiver un trigger
    Par MashiMaro dans le forum Sybase
    Réponses: 3
    Dernier message: 30/10/2003, 11h17
  5. creation de trigger
    Par mitsubi dans le forum SQL
    Réponses: 3
    Dernier message: 12/09/2003, 15h13

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo