|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Nouveau Membre du Club
![]() Inscription : août 2009 Messages : 103 ![]() |
Bonsoir,
je suis un novice et je m'entraine a faire des tests et notamment sur les triggers. JE comprends pas j'ai créé un trigger sur un update,insert , delete et il ne' agit pas ? Pourriez vous m'aider à trouver l'origine de l'erreur. Voici mon trigger: Code :
Code :
UPDATE EMPLOYEES SET EMPLOYEES.FIRST_NAME='jymmy' WHERE EMPLOYEES.EMPLOYEE_ID=100; meric de votre aide |
||
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() Inscription : août 2008 Messages : 1 271 ![]() |
DBMS_OUTPUT.PUT_LINE, dans quel environnement testes tu ton code ?
Si c'est sqlplus il faut faire avant : Si c'est SqlDevelopper il faut cliquer sur : view > dbms_output ensuite cliquer sur la croix verte ("enable dbms_ouput for connection") puis recommencer ton test. Si c'est toad, je ne l'ai pas sous la main mais si je me souviens bien il y a un onglet dbms_output "dans la zone du bas" Je n'ai pas testé avec ton trigger si tu n'as toujours pas d'affichage j'essaierais avec ton code. |
|
|
00
|
|
|
#3 |
|
Nouveau Membre du Club
![]() Inscription : août 2009 Messages : 103 ![]() |
salut
il s'agit de sqldevelopper mais je vois pas ou tu veux que je clique : "view > dbms_output" Merci Autre point j'essaie de m'entrainer sur la manipulation des curseurs. est ce une bonne chose de les utiliser via des procédures ? Merci |
|
|
00
|
|
|
#4 | |
|
Membre Expert
![]() Inscription : août 2008 Messages : 1 271 ![]() |
Citation:
Pour les curseurs ça dépend comment tu les utilises... si c'est faire des boucles pour insérer ou updater des lignes efectivement c'est très souvent inutil, si c'est pour renvoyer un paramètre OUT d'une procédure en SYS_REFCURSOR alors ça a du sens. |
|
|
|
00
|
|
|
#5 | ||
|
Nouveau Membre du Club
![]() Inscription : août 2009 Messages : 103 ![]() |
merci
je dois être un peu fatigué je ne trouve vraiment pas cette option dans le menu qui est en francais et est composé ( fichier, modifier ,affichage, naviguer , executer, gestion des vresions, outils, aide) par contre j'aurais une question sur une procédure comportant un curseur que je suis en train d'écrire et qui me rejette l'expression fetch je ne comprends pas pourquoi si quelqu un aurait une piste : voici mon code : Code :
|
||
|
|
00
|
|
|
#6 | ||
|
Nouveau Membre du Club
![]() Inscription : août 2009 Messages : 103 ![]() |
ps: je me suis trompé
voici le code qui ne fonctionne pas : Code :
|
||
|
|
00
|
|
|
#7 | |
|
Nouveau Membre du Club
![]() Inscription : août 2009 Messages : 103 ![]() |
personne n'a d'idées sur l'origine de l'erreur ?
je ne comprends pas pourquoi il ne veut pas que je mette les valeurs de mon curseur dans employ qui est une CR_employées%rowtype voici l'erreur affichée : Citation:
|
|
|
|
00
|
|
|
#8 | ||
|
Membre Expert
![]() Inscription : août 2008 Messages : 1 271 ![]() |
DECLARE c'est pour les blocks anoymes, lorsque tu créé une procedure is/as correspond au declare.
Il faut placer begin après les déclarations : Code :
Concernant view je me suis trompé d'emplacement mais c'est évidemment affichage. |
||
|
|
00
|
|
|
#9 |
|
Nouveau Membre du Club
![]() Inscription : août 2009 Messages : 103 ![]() |
merci encore,
ouai j'ai commencé et continue de lire le pl/SQL guide ,et j'avais donc corrigé cette erreur (sur les declarations) mais l'erreur persiste. Merci |
|
|
00
|
|
|
#10 |
|
Membre Expert
![]() Inscription : août 2008 Messages : 1 271 ![]() |
Je ne sais pas si ça viens de là mais ce n'est pas une bonne idée de mettre des accents dans les noms de variables, quelque soit le langage utilisé.
De toute façon utilise for à la place de open (util pour du sql dynamique) l'écriture est beaucoup plus simple et lisible. |
|
|
00
|
|
|
#11 |
|
Nouveau Membre du Club
![]() Inscription : août 2009 Messages : 103 ![]() |
merci
ca marche avec la boucle for |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com