Partage
  • Partager sur Facebook
  • Partager sur Twitter

Oracle PL/sql

code PL/sql

9 janvier 2015 à 23:59:34

Bonjour , je suis débutant en PL/SQL , et veux executer ce petit code , mais il me donne une erreur .

voila le code: 

define  employee_number 124;
DECLARE
emp_rec   emp%ROWTYPE;
BEGIN
SELECT INTO emp_rec 
FROM emp
WHERE  empno &employee_number;
INSERT INTO retired_emps(empnoenamejob

VALUES (emp_rec.empnoemp_rec.enameemp_rec.job;

COMMIT;
END;
/
erreur est  : Line NumberUnknown Statement1DEFINE employee_number = 124 

c'est quoi le probléme?? 

  • Partager sur Facebook
  • Partager sur Twitter

rien

10 janvier 2015 à 21:57:19

Est ce que l'erreur persiste toujours si tu ne mets pas la ligne DEFINE mais que tu la remplaces dans les déclaration par employee_number number := 124; 

tu enleves biensur le & dans le SELECT.

-
Edité par RLTW95 10 janvier 2015 à 22:02:03

  • Partager sur Facebook
  • Partager sur Twitter
11 janvier 2015 à 14:06:40

#RLTW95 : Oui , si je ne met pas la ligne DEFINE et je remplace dans la declaration par employee_number number := 124;  

ca ne me donne aucun erreur ,mais c'est pas le but que je veux , je veux que l'utilisateur a la possiblité d'entrer la valeur employe_number , avez vous une solution ?

  • Partager sur Facebook
  • Partager sur Twitter

rien

11 janvier 2015 à 23:10:33

Bonsoir,

Tu n'as pas besoin de déclarer la variable d'input, essaye :

DECLARE
emp_rec   emp%ROWTYPE;
BEGIN
SELECT * INTO emp_rec 
FROM emp
WHERE  empno = &employee_number;
INSERT INTO retired_emps(empno, ename, job) 
VALUES (emp_rec.empno, emp_rec.ename, emp_rec.job) ;

COMMIT;
END;

  EDIT : Pourquoi ne pas faire un INSERT SELECT directement au lieu d'un SELECT puis un INSERT ?

BEGIN
  INSERT INTO retired_emps(empno, ename, job) 
  SELECT empno, emp_ename, job FROM emp WHERE empno = &empnumber;
  COMMIT;
END;



-
Edité par Jbkhoi 11 janvier 2015 à 23:19:48

  • Partager sur Facebook
  • Partager sur Twitter
8 janvier 2020 à 13:37:39

bonjour , est-ce qu'il y a une formation sur PL/SQL
  • Partager sur Facebook
  • Partager sur Twitter
8 janvier 2020 à 14:11:11

Bonjour,

Déterrage

Citation des règles générales du forum :

Avant de poster un message, vérifiez la date du sujet dans lequel vous comptiez intervenir.

Si le dernier message sur le sujet date de plus de deux mois, mieux vaut ne pas répondre.
En effet, le déterrage d'un sujet nuit au bon fonctionnement du forum, et l'informatique pouvant grandement changer en quelques mois il n'est donc que rarement pertinent de déterrer un vieux sujet.

Au lieu de déterrer un sujet il est préférable :

  • soit de contacter directement le membre voulu par messagerie privée en cliquant sur son pseudonyme pour accéder à sa page profil, puis sur le lien "Ecrire un message"
  • soit de créer un nouveau sujet décrivant votre propre contexte
  • ne pas répondre à un déterrage et le signaler à la modération

Je ferme ce sujet. En cas de désaccord, me contacter par MP.

  • Partager sur Facebook
  • Partager sur Twitter