TYPE rec_data IS RECORD ( ZENM_UPD_F TMM1011.ZENM_UPD_F%TYPE, --全社マスタ更新フラグ HINCD TMM1011.HINCD%TYPE, --商品コード TEKIS_YMD TMM1011.TEKIS_YMD%TYPE, --適用開始年月日 TEKIE_YMD TMM1011.TEKIE_YMD%TYPE, --適用終了年月日 HBSTPSB TMM1011.HBSTPSB%TYPE, --販売停止種別 HINM_JIGCD TMM1011.HINM_JIGCD%TYPE, --商品元事業コード HINBRCD TMM1011.HINBRCD%TYPE, --商品分類コード HINSB TMM1011.HINSB%TYPE, --商品種別 HINKG TMM1011.HINKG%TYPE, --商品記号 HIN_NMJ TMM1011.HIN_NMJ%TYPE, --漢字品名 HIN_NM TMM1011.HIN_NM%TYPE, --カナ品名 RHIN_NMJ TMM1011.RHIN_NMJ%TYPE, --漢字品名(略) SYS_KOSHIN_YMD TMM1011.SYS_KOSHIN_YMD%TYPE --システム更新年月日 ); myrec_data rec_data;取一个字段用 myrec_data.ZENM_UPD_F,我想取一整行数据,即取出所有字段,但不想一个一个取出来加在一块,
而是有什么方法能一次取一整条
而是有什么方法能一次取一整条
CURSOR CURSOR_NAME IS SELECT * FROM TAB_A;
B_V NUMBER;
..
FOR CUR IN CURSOR_NAME LOOP
--这样如果使用游标中的字段就随意使用了,不知道是不是你需要的意思!
B_V:=CUR.COLUMN1;
....END LOOP;
即:String = CRU.COLUMN1+CRU.COLUMN2……+COLUMNn(通俗写法)
用这种加的方法可以实现但有什么方法不加就可以取出这一整行呢
定义游标的时候,利用
CURSOR CURSOR_NAME IS SELECT column1||column2||column3... as all_column FROM TAB_A;
B_V varchar2(200);
..
FOR CUR IN CURSOR_NAME LOOP
--这样如果使用游标中的字段就随意使用了,不知道是不是你需要的意思!
B_V:=CUR.all_column;
....END LOOP;
09:59:20 2 cursor cursor_name is select a||b||c as all_column from taba;
09:59:53 3 v varchar2(50);
10:00:06 4 begin
10:00:09 5 for cur in cursor_name loop
10:00:18 6 v:=cur.all_column;
10:00:29 7 end loop;
10:00:32 8 end;
10:00:33 9 /PL/SQL 过程已成功完成。10:00:34 SQL>
B_V varchar2(200);
CUR CURSOR_NAME%ROWTYPE;
..
FOR CUR IN CURSOR_NAME LOOP
B_V:=CUR.all_column;
....END LOOP;