update sql

2020-05-12  本文已影响0人  西谷haul

1.一个经常忘记的sql的update用法,两个表之间存在关联,将一个表的数据值赋值到另一个表,举例如下:

UPDATE tep_inner_table_1959 t1 
SET t_lis7_col_count = 
( 
SELECT column_count FROM tep_lis7_coulumn_count t2 
WHERE t1.table_name = t2.table_name 
);

2.对于函数和存储过程一直没怎么研究过

函数有匿名函数,顾名思义,就是没有名字的函数,举一个最简单的函数的例子:

函数一:

begin
  dbms_output.put_line('Hello the world');
end;

这里可以看到dbms_output.put_line,可以想到system.out.print很相似,都是系统的打印方法,begin开头,end结尾。

函数二:

declare
zhang int:=32;
li int:=28;
begin
      if zhang>li then
        dbms_output.put_line('zhang>li')
        else
        dbms_output.put_line('zhang<li')
        end if;
end;

这里看到函数声明变量,跟以前所学的java不同,首先加一个declare,这里先是变量名,而后是类型,然后“:”在加值,if后面不加括号,然后是then,以end if结尾。

函数三:

image

通过这个函数,来看变量声明的几种方式,可以发现 “default” = “:=” 变量同样可以先实例化再初始化。

函数四:

image

这是一个while循环,注意loop,循环条件后面加loop,循环结束时候加loop

函数五:

image

这是一个for循环,跟while差不太多,“1..10”表示一到十,同样注意loop

函数六

image

这就是一个比较常见的函数了,来分析一下,显然,创建或者覆盖函数A_test 返回类型是varchar2,这里函数名后面其实也是可以加参数的,比如说mysum(a int,b int) 。然后是is,这些都是固定的,在这里又声明了一个变量tValue,然后看begin里面发生的,将...查出来赋值给tValue,然后将tValue返回,这就是这个函数的过程。

3.至于存储过程的话

其实跟函数差不太多,一个是创建function,一个是procedure,存储过程是一定没有返回值的,而函数有。

4.还有就是索引

索引这种东西就相当于是字典上的查询的指引,能让你快速查询,但也不是越多越好,因为如果一个表索引太多,那么当你向这个表中插入数据的时候受到的约束就会更多。

上一篇 下一篇

猜你喜欢

热点阅读