Gun*_*unj 0 sql oracle syntax plsql
declare
v_name varchar2(10) := 'bruce';
v_name2 number;
begin
case v_name
when 'bruce' then DBMS_OUTPUT.PUT_LINE('corr');
else DBMS_OUTPUT.PUT_LINE('incorrect');
end case;
DBMS_OUTPUT.PUT_LINE(v_name2);
end;
declare
v_name varchar2(10) := 'bruce';
num number(2) := 10;
begin
num := case v_name
when 'bruce' then 2
else 12
end;
DBMS_OUTPUT.PUT_LINE(num);
end;
Run Code Online (Sandbox Code Playgroud)
对分号感到困惑。为什么在第一个代码中需要分号和结束情况;需要关键字。但在第二段代码中没有分号并且也只是结束;我知道在第二个中我正在为变量赋值,但那又怎样呢?
case语句与 case表达式。
case v_name
when 'bruce' then DBMS_OUTPUT.PUT_LINE('corr');
else DBMS_OUTPUT.PUT_LINE('incorrect');
end case;
Run Code Online (Sandbox Code Playgroud)
case表达式可以在 PL/SQL 和常规 SQL 中使用,并返回一个值:
num := case v_name
when 'bruce' then 2
else 12
end;
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
56 次 |
最近记录: |