Suche…


Zuweisungsmodell in PL / SQL

In allen Programmiersprachen können wir Variablen Werte zuweisen. Normalerweise wird der Variablen ein Wert zugewiesen, der auf der linken Seite steht. Der Prototyp der gesamten Zuweisungsoperationen in einer beliebigen zeitgenössischen Programmiersprache sieht folgendermaßen aus:

left_operand assignment_operand right_operand instructions_of_stop

Dadurch wird dem linken Operanden ein rechter Operand zugewiesen. In PL / SQL sieht diese Operation folgendermaßen aus:

left_operand := right_operand;

Der linke Operand muss immer eine Variable sein . Der rechte Operand kann ein Wert, eine Variable oder eine Funktion sein:

set serveroutput on
declare
  v_hello1 varchar2(32767);
  v_hello2 varchar2(32767);
  v_hello3 varchar2(32767);
  function hello return varchar2 is begin return 'Hello from a function!'; end;
begin
   -- from a value (string literal)
  v_hello1 := 'Hello from a value!';
   -- from variable
  v_hello2 := v_hello1;
  -- from function
  v_hello3 := hello; 

  dbms_output.put_line(v_hello1);
  dbms_output.put_line(v_hello2);
  dbms_output.put_line(v_hello3);
end;
/

Wenn der Codeblock in SQL * Plus ausgeführt wird, wird die folgende Ausgabe in der Konsole gedruckt:

Hello from a value!
Hello from a value!
Hello from a function!

Es gibt eine Funktion in PL / SQL, mit der wir "von rechts nach links" zuweisen können. Es ist möglich, die SELECT INTO-Anweisung auszuführen. Prototyp dieser Funktion finden Sie unten:

SELECT [ literal | column_value ]

INTO local_variable

FROM [ table_name | aliastable_name ]

WHERE comparison_instructions;

Dieser Code weist einer lokalen Variablen ein Zeichenliteral zu:

set serveroutput on
declare
  v_hello varchar2(32767);
begin
  select 'Hello world!'
  into v_hello
  from dual;

  dbms_output.put_line(v_hello);
end;
/

Wenn der Codeblock in SQL * Plus ausgeführt wird, wird die folgende Ausgabe in der Konsole gedruckt:

Hello world!

Die Zuordnung "von rechts nach links" ist kein Standard , aber für Programmierer und Benutzer eine wertvolle Funktion. Normalerweise wird es verwendet, wenn der Programmierer Cursor in PL / SQL verwendet. Diese Technik wird verwendet, wenn ein einzelner skalarer Wert oder eine Spaltengruppe in der einen Cursorzeile vom SQL-Cursor zurückgegeben werden soll.

Weiterführende Literatur:



Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow