当前位置: 首页>数据库>正文

postgresql ST_DWithin 必须完全包含 plsql必须存在的部分

 


 



1.pl/sql 分为三个部分:声明部分、执行部分、异常处理部分 

DECLARE   
         …这里定义PL/SQL变量、自定义类型、游标和局部子程序(可选部分)
       BEGIN   --  begin和end中间添加响应的操作
          …这里可以放置可执行的SQL或者PL/SQL语句,这里必须至少包含一条可执行语句
        EXCEPTION
         …异常处理部分(可选)
       END;
/
每个plsql块可以有以上三部分,但是执行部分是必需的,声明和异常是可选的;如果有异常处理的话,执行部分是以exception结尾,如果不包含exception部分,就要以end;来结尾
    每条语句后面和每个块(block)后面都要有一个";"结尾
 
2.plsql字符集
字母,数字,空白,tab space 回车,其它符号: + - * / = ; :
plsql对大小写不敏感
plsql中的标识符(indentifier)
命名规则:字母开头,后可以跟任意字母,数字,货币符号,下划线,或#,不能有空格,最大长度为30个字母
plsql如何声明变量:
name type [constant] [not null ] [:=value]; //变量名 类型 [常量可选][非空可选][初始值可选];
plsql中要给一个声明的变量赋值要用 := 值
constant 声明变量为常量,初始化后之后不能再修改值,类似于java中的final
not null 非空,plsql中的 null 表示未定义,声明变量时不给他赋值它的默认值就为null
 
3.数据类型:
     a. record   类似于 struct
   type emp is record(
id varchar2(32),
firstname emp_xb.firstname%TYPE,
lastname varchar2(20) :='xiaoxiao'
  );
 
   b.table :  
(类似于java中的map用法key value键值对形式来存)表中的元素的类型可以是复合类型
定义:TYPE 类型名 IS TABLE OF type(value的类型或元素的类型) INDEX BY BINARY INTEGER;
 
   c.varray   类似于 array包含同一种类型的数组
   d. 参考类型:
       ref cursor 类似于指针
        lob (large object)大对象如音频,图片等
   e. 标量类型:
        binary_integer 只能指定整型
        dec 指定复点型
        float
        number(n,m)   n代表整个复点数整个有效位数,m小数点后面的位数
        varchar       
        varchar2
        boolean
        date
        %type 使一个变量具有数据库当中的某个表的某个字段的相同的数据类型
        %rowtype  
4.结构:
  A.条件:
if 条件 then
      elsif 条件 then
        end if;
   B.循环:
  a.loop if 条件 then exit; end if; end loop;
  b. while 条件 loop ... end loop;
      declare
  type t_indtab is table of varchar2(10)
          index by binary_integer;
  v_indtab t_indtab;
  v_index binary_integer;
begin
  v_indtab(100) :='a';
  v_indtab(80) := 'b';
  v_indtab(200) := 'c';
  dbms_output.put_line(v_indtab(200));
  dbms_output.put_line(v_indtab.first);
  dbms_output.put_line(v_indtab.last);
  v_index := v_indtab.first;
  while v_index <= v_indtab.last loop
    dbms_output.put_line(v_indtab(v_index));
    v_index := v_indtab.next(v_index);
  end loop;
  /*for i in v_indtab.first .. v_indtab.last loop
       dbms_output.put_line(v_indtab(i)));
   end loop;*/
end;
C.for循环
       for i in 0..9 loop ..  end loop;(上限  值结束条件为 <=9 )
(默认为自加想实现为自减可改为 for i in
reverse 9..0 loop ... end loop;)

 


 


https://www.xamrdz.com/database/6z91937715.html

相关文章: