Oracle存储过程2

本文深入讲解数据库编程中的关键概念,包括条件判断、循环控制及数据处理。探讨了if语句的使用,for循环的实现,以及mergeinto指令如何在两个表间进行数据同步。同时,介绍了instr函数用于字符串定位的方法,以及to_date函数将字符转换为日期格式的用法。

讲讲最近

最近有些倒霉,诸事不顺,希望接下来有好的事情发生。接着上次的数据库编程讲喽!

接着上次的讲喽

判断

首先是跟其他语言一样的。用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类型的转换为日期格式的(日后详细讲)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值