讲讲最近
最近有些倒霉,诸事不顺,希望接下来有好的事情发生。接着上次的数据库编程讲喽!
接着上次的讲喽
判断
首先是跟其他语言一样的。用if来表示判断,具体语句如下:
if 条件 then
程序块;
else
程序块;
end if;
多个if嵌套的:
if 条件 then
程序块;
elsif 条件 then
程序句;
(elsif 条件 then
程序句;
)
else
程序块;
end if;
循环(只讲了for loop循环)
for rec(游标或者说是变量) in -3..3(一般写查询表,即获取数据) loop
循环的内容,比如说更新,插入语句,删除语句(rec.列名代表当前游标的一行中的这一列的数据)
end loop;
loop之后是开始循环的内容,直到end loop结束循环,对于游标的理解:是把查询到的表放到游标里,一个loop循环用一行数据当rec的数据查询完了结束循环
用到的小知识
-
merge into作用:讲从一个表A查询到的数据,根据条件判断,如果在表B中出现满足条件的,就更新表B,如果不满足就将表A的这行数据插入表B中。
merge into 表B(被插入数据的表) t using (select 表A的字段,即列名 from 表A t where 表A满足某个条件) tt on (将表A的这行数据与表B进行比较,即符合存在的条件) when matched then(如果满足) update(更新表B语句,需要更新的字段,直接用,隔开,最后一句不写) set t.xlm = tt.xlm, t.BZJQTGZ = tt.sm when not matched then(如果不满足) insert (表B的字段) values (值);
-
常用的函数
2.1.查找字符串中的位置
instr( string1, string2 [, start_position [, nth_appearance ] ] )
参数分析:
string1
源字符串,要在此字符串中查找。
string2
要在string1中查找的字符串.
start_position
代表string1
的哪个位置开始查找。此参数可选,如果省略默认为1. 字符串索引从1开始。如果此参数为正,从左到右开始检索,如果此参数为负,从右到左检索,返回要查找的字符串在源字符串中的开始索引。
nth_appearance
代表要查找第几次出现的string2. 此参数可选,如果省略,默认为 1.如果为负数系统会报错。
注意:如果String2在String1中没有找到,instr函数返回0.
2.2.to_date(" String1","String2")
将char类型的转换为日期格式的(日后详细讲)