现在的位置: 首页 > 综合 > 正文

pl/sql语法

2013年08月28日 ⁄ 综合 ⁄ 共 1201字 ⁄ 字号 评论关闭

声明变量
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;

 

抱歉!评论已关闭.