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 游标返回一行游标中的单个标量值或一组列时,使用此技术。
进一步阅读: