Précédent   Forum des professionnels en informatique > Bases de données > Oracle > PL/SQL
PL/SQL Forum d'entraide sur le PL/SQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 06/12/2007, 10h41   #1
Invité de passage
 
Inscription : décembre 2007
Messages : 4
Détails du profil
Informations forums :
Inscription : décembre 2007
Messages : 4
Points : 0
Points : 0
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 :

Citation:
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 :
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
guittonews est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/12/2007, 10h45   #2
Rédacteur/Modérateur
 
Avatar de orafrance
 
Inscription : janvier 2004
Messages : 15 861
Détails du profil
Informations personnelles :
Âge : 35

Informations forums :
Inscription : janvier 2004
Messages : 15 861
Points : 16 212
Points : 16 212
quel étrange idée que de créer un trigger en PHP
orafrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/12/2007, 10h52   #3
Invité de passage
 
Inscription : décembre 2007
Messages : 4
Détails du profil
Informations forums :
Inscription : décembre 2007
Messages : 4
Points : 0
Points : 0
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
guittonews est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/12/2007, 10h54   #4
Rédacteur/Modérateur
 
Avatar de orafrance
 
Inscription : janvier 2004
Messages : 15 861
Détails du profil
Informations personnelles :
Âge : 35

Informations forums :
Inscription : janvier 2004
Messages : 15 861
Points : 16 212
Points : 16 212
bah un fichier SQL ce serait plus conforme à ce qu'on fait dans la vrai vie
orafrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/12/2007, 11h02   #5
Invité de passage
 
Inscription : décembre 2007
Messages : 4
Détails du profil
Informations forums :
Inscription : décembre 2007
Messages : 4
Points : 0
Points : 0
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
guittonews est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/12/2007, 11h07   #6
Rédacteur/Modérateur
 
Avatar de orafrance
 
Inscription : janvier 2004
Messages : 15 861
Détails du profil
Informations personnelles :
Âge : 35

Informations forums :
Inscription : janvier 2004
Messages : 15 861
Points : 16 212
Points : 16 212
non, tu n'importes rien, tu exécutes le fichier dans SQL*Plus
orafrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/12/2007, 11h10   #7
Invité de passage
 
Inscription : décembre 2007
Messages : 4
Détails du profil
Informations forums :
Inscription : décembre 2007
Messages : 4
Points : 0
Points : 0
Ok je vais chercher la commande pour executer le fichier dans sql*plus!
Merci pour ton aide!
guittonews est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 11h26.


 
 
 
 
Partenaires

Hébergement Web