PLSQL 中的賦值模型
所有程式語言都允許我們為變數賦值。通常,將值分配給站在左側的變數。任何當代程式語言中的整體賦值操作的原型如下所示:
left_operand assignment_operand right_operand instructions_of_stop
這會將右運算元分配給左運算元。在 PL / SQL 中,此操作如下所示:
left_operand := right_operand;
左運算元必須始終是變數。右運算元可以是值,變數或函式:
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;
/
在 SQL * Plus 中執行程式碼塊時,在控制檯中列印以下輸出:
Hello from a value!
Hello from a value!
Hello from a function!
PL / SQL 中有一個功能允許我們分配從右到左。可以在 SELECT INTO 語句中執行。你將在下面找到這個功能的原型:
SELECT [ literal | column_value ]
INTO local_variable
FROM [ table_name | aliastable_name ]
WHERE comparison_instructions;
此程式碼將字元文字分配給區域性變數:
set serveroutput on
declare
v_hello varchar2(32767);
begin
select 'Hello world!'
into v_hello
from dual;
dbms_output.put_line(v_hello);
end;
/
在 SQL * Plus 中執行程式碼塊時,在控制檯中列印以下輸出:
Hello world!
從右到左 的轉換不是標準,但它對程式設計師和使用者來說是有價值的功能。通常,當程式設計師在 PL / SQL 中使用遊標時使用它 - 當我們想要從 SQL 遊標返回一行遊標中的單個標量值或一組列時,使用此技術。
進一步閱讀: