声明变量
var_name var_type;
常量声明
var_name constant var_type :=var_value;
声明的变量如果没有初始化值,则默认为空,如果添加了
非空的约束,那么必须为该变量赋初始值
PL/SQL treats any zero-length string as a NULL value. This includes values returned by character functions and BOOLEAN expressions.
DECLARE
null_string VARCHAR2(80) := TO_CHAR('');
address VARCHAR2(80);
zip_code VARCHAR2(80) := SUBSTR(address, 25, 0);
name VARCHAR2(80);
valid BOOLEAN := (name != '');
BEGIN
NULL;
END;
/
%type变量类型引用,如果引用的是某个coloumn那么将会继承该column的变量类型和长度和约束,但如果由某个column继承
将不继承约束。
下面的例子是继承了一个预设的变量,由于该变量存在非空
约束,那么surname继承了name除了初始值之外的所有内容,
因此需要为surname赋一个初始值。
DECLARE
name VARCHAR(25) NOT NULL := 'Smith';
surname name%TYPE := 'Jones';
BEGIN
DBMS_OUTPUT.PUT_LINE('name=' || name);
DBMS_OUTPUT.PUT_LINE('surname=' || surname);
END;
/
循环控制语句
if......then
........
end if
if......then
else
if.........then
.......
else
.......
end if
end if
if........then
.........
elseif........... then
.........
elseif............then
.........
end if
如果if else的嵌套很多的情况下,可以用case关键字
case selector
when .. then ...
when .. then ...
when .. then ...
when .. then ...
when .. then ...
else .........
end case;
case
WHEN condition_1 THEN statements_1
WHEN condition_2 THEN statements_2
...
WHEN condition_n THEN statements_n
[ ELSE
else_statements ]
END CASE;