Montag, 11. Oktober 2010

Workshop: PL/SQL-Webservice erstellen, Datenbank vorbereiten

Damit der Webservice erstellt werden kann, müssen zunächst ein paar Schritte auf der Datenbank durchgeführt werden. Weiter unten findet sich ein Script, welches die folgenden Schritte komplett ausführt. Zum setzen des Oracle-Environments kann das Oracle-Skript oraenv wie folgt genutzt werden, die Voreinstellung orcl kann übernommen werden.

. oraenv

Zunächst wird die Datenbank-Tabelle EMPLOYEES im Schema HR um eine Spalte HOLIDAYS erweitert, welche sich unfairerweise aus dem Gehalt geteilt durch 100 ergibt.

alter table EMPLOYEES add(holidays NUMBER);  
update employees set holidays= round( salary/100 ); 
commit;


Weiterhin wird ein Package HR_INFO erstellt, welches eine Stored Procedure GetHRinfo enthält die uns die gewünschten Informationen aus der Datenbank holt.

CREATE OR REPLACE PACKAGE HR_INFO AS 
  PROCEDURE GETHRINFO 

  EMPID IN NUMBER,  
  FIRSTNAME OUT VARCHAR2, 
  LASTNAME OUT VARCHAR2 
); 
  PROCEDURE GETHRINFO2 

  EMPID IN NUMBER,  
  FIRSTNAME OUT VARCHAR2, 
  LASTNAME OUT VARCHAR2, 
  HOLIDAYS OUT NUMBER 
); 
END HR_INFO; 



CREATE OR REPLACE PACKAGE BODY HR_INFO AS 
PROCEDURE GETHRINFO 

  EMPID IN NUMBER, 
  FIRSTNAME OUT VARCHAR2, 
  LASTNAME OUT VARCHAR2 
) AS 
BEGIN 


  select first_name, last_name 
  into firstname, lastname 
  from employees 
  where employee_id = empid; 
END GETHRINFO; 


PROCEDURE GETHRINFO2 

  EMPID IN NUMBER, 
  FIRSTNAME OUT VARCHAR2, 
  LASTNAME OUT VARCHAR2, 
  HOLIDAYS OUT NUMBER 
) AS 
BEGIN 
  select first_name, last_name, holidays 
  into firstname, lastname, holidays 
  from employees 
  where employee_id = empid; 
END GETHRINFO2; 


END HR_INFO; 
/

Diese Schritte werden komplett von dem Script HR_INFO.sql (~oracle/Workshop) durchgeführt. Ausgeführt wird es mit

sqlplus hr/hr @HR_INFO.sql

Damit ist die Datenbank für die folgenden Workshop-Aufgaben fertig vorbereitet.

---> Nächster Schritt: PL/SQL-Webservice erstellen, Webservice generieren

Keine Kommentare:

Kommentar veröffentlichen

Hinweis: Nur ein Mitglied dieses Blogs kann Kommentare posten.