阅读背景:

批量插入学生照片

来源:互联网 
create or replace procedure xjxxgl_syncZp(p_jwxhs IN TYPE_JWXH_VARCHAR2, p_path IN VARCHAR2, p_count out NUMBER) is /** * 学生照片批量插入 * 2015年9月7日 p_jwxhs 学生学号字符串数组集 p_path 照片存放的文件夹路径 p_count 统计插入照片条数 */ TYPE XSCUR IS REF CURSOR; --定义类型变量 CUR_XS XSCUR; --引用游标的数据类型 --这种变量通常用于存储过程和函数返回结果集时使用, --因为PL/SQL不允许存储过程或函数直接返回结果集,但可以返回类型变量, --于是引用游标的类型变量作为输出参数或返回值 XSTEMP_XH VARCHAR2(30); count_start number; --记录批量插入前数量 count_end number; --记录批量插入后数量 BEGIN select count(*) into count_start from xsxxgl_xsjbxx WHERE zppath is not null; FOR I in p_jwxhs.first .. p_jwxhs.last LOOP OPEN CUR_XS FOR SELECT xs.jwxh FROM xsxxgl_xsjbxx xs WHERE xs.jwxh = p_jwxhs(I) and xs.zppath is null; FETCH CUR_XS INTO XSTEMP_XH; --判断学生照片是否为空,如果为空插入新的照片路径,不为空则不操作 IF CUR_XS% FOUND THEN --如果学生照片为空则插入 --用户信息表 UPDATE xsxxgl_xsjbxx YH SET YH.Zppath = '/imageservlet?path='||p_path||'/'||p_jwxhs(I)||'.jpg' WHERE YH.Jwxh = p_jwxhs(I); END IF; CLOSE CUR_XS; END LOOP; --统计插入数量 select count(*) into count_end from xsxxgl_xsjbxx WHERE zppath is not null; p_count := count_end - count_start; exception when others then raise; rollback; END xjxxgl_syncZp; create or replace procedure xjxxgl_syncZp(p_jwxhs


你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: