oracle中的rowtype的使用

CREATE OR REPLACE FUNCTION A_Test1 RETURN VARCHAR2 is
       OBJ_MARK BP_MARK%ROWTYPE;
 BEGIN
     SELECT * INTO OBJ_MARK FROM BP_MARK WHERE PID='922';
     RETURN OBJ_MARK.MARK_NO;
 EXCEPTION
     WHEN OTHERS THEN
          RETURN '错误';
 END A_Test1;

rowtype 就是表示数据类型是某个表的行类型。

例如上面的   OBJ_MARK BP_MARK%ROWTYPE 意思是定义一个变量 OBJ_MARK,它的类型是 BP_MARK 表类型

赋值的时候,只能把一行的数据赋值给 ROWTYPE(没有数据或者多行数据都会报错)

取值的时候,直接使用 OBJ_MARK.某个字段 就能获取到值了

posted @ 2021-01-05 09:18  masha2017  阅读(1021)  评论(0编辑  收藏  举报