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结尾。
函数三:

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

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

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

这就是一个比较常见的函数了,来分析一下,显然,创建或者覆盖函数A_test 返回类型是varchar2,这里函数名后面其实也是可以加参数的,比如说mysum(a int,b int) 。然后是is,这些都是固定的,在这里又声明了一个变量tValue,然后看begin里面发生的,将...查出来赋值给tValue,然后将tValue返回,这就是这个函数的过程。
3.至于存储过程的话
其实跟函数差不太多,一个是创建function,一个是procedure,存储过程是一定没有返回值的,而函数有。
4.还有就是索引
索引这种东西就相当于是字典上的查询的指引,能让你快速查询,但也不是越多越好,因为如果一个表索引太多,那么当你向这个表中插入数据的时候受到的约束就会更多。