PL/SQL Grundlagen: Variablen, Zuweisungen und Blöcke

Eingeordnet in Informatik

Geschrieben am in Deutsch mit einer Größe von 1,73 KB

3) Verwendung von SELECT INTO in PL/SQL

Ein PL/SQL-SELECT-Statement speichert den Wert einer Zeile in einer Variablen. Beispiel:

SELECT region_id
INTO var_reg_id
FROM regions;

Damit die Variable den Wert korrekt aufnehmen kann, muss sie den gleichen Datentyp wie die Tabellenspalte besitzen:

DECLARE
  var_region_id hr.regions.region_id%TYPE;
BEGIN
  SELECT region_id
  INTO var_region_id
  FROM regions;
END;

5) Variablendeklaration und Zuweisung

Syntax: variablenname datentyp := wert;

Beispiele:

  • numbers NUMBER(3,2) := 2.34; (Anzahl der Ziffern, Anzahl der Nachkommastellen)
  • name VARCHAR2(30) := 'denisse'; (Dynamische Länge, passt sich dem Wert an)
  • name CHAR(10) := 'Ramirez'; (Feste Länge, belegt immer die definierte Länge)

6) Anonymer PL/SQL-Block zur Problemlösung

Aufgabenstellung: Das Unternehmen erweitert den Standort Toronto (location_id = 1800). Eine neue Einkaufsabteilung soll erstellt und Personal von San Francisco (department_id = 50) dorthin verlagert werden. Die ID des Mitarbeiters wird per Eingabe abgefragt.

DECLARE
  id_empleado hr.employees.employee_id%TYPE := &codigo_empleado;
  emp_ingresado hr.employees.employee_id%TYPE;
BEGIN
  SELECT employee_id
  INTO emp_ingresado
  FROM hr.employees
  WHERE employee_id = id_empleado;

  IF SQL%FOUND THEN
    UPDATE hr.departments
    SET location_id = 1800
    WHERE department_id = 50;
    dbms_output.put_line('Änderung für Mitarbeiter: ' || id_empleado);
  ELSE
    dbms_output.put_line('Mitarbeiter existiert nicht');
  END IF;
END;

Verwandte Einträge: