Bonjour,
Je suis entrains de me former en lisant le doc : "Oracle Database 10g: Les fondamentaux du language PL/SQL", et je suis arrivé aux exercices du chapitre 4, voici un petit résumé :
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
22
23
24
25
26
27
28
set serveroutput on;
variable dept_id number;
declare
   max_deptno departments.DEPARTMENT_ID%type;
   dept_name departments.DEPARTMENT_NAME%type := 'Education';
begin
   select max(department_id)
   into max_deptno
   from departments;
   dbms_output.put_line('The maximum department_id is : ' || max_deptno);
   :dept_id := max_deptno + 10; 
 
   insert into 
             departments(
               department_id,
			   department_name,
			   location_id)
			 values(
			   :dept_id,
			   dept_name,
			   null
			 );
   dbms_output.put_line('sql%rowcount gives ' || sql%rowcount); 
end;
/
select * 
from departments
where department_id = :dept_id;
le code ci-dessus fonctionne a merveille, le souci est dans le code suivant :
set serveroutput on;
variable dept_id number;
begin
select max(department_id)
into :dept_id
from departments ;

update departments
set location_id = 3000
where department_id = :dept_id ;
end;
/
commit;
/
delete
from hr.departments
where department_id = :dept_id;
j'ai le message suivant :

PL/SQL procedure successfully completed.
Commit complete.
unknown command "repeat" - rest of line ignored.
ORA-01008: toutes les variables ne sont pas liées

en fait il n'aime pas le "delete", et j'arrive pas a trouver pourquoi.

Merci