Oracle中同时添加多条数据

假设现在有一个招聘会公司表,一个招聘岗位表。。其中招聘岗位的co_id关联招聘公司的id。一个招聘会公司可能会发布很多个招聘岗位。name在添加招聘岗位的时候

    <insert id="addFairPosition" parameterType="java.util.List">
        INSERT INTO T_JOB_FAIR_POSITION (id, co_id, name, hire_num, salary, address, summary, require)
        SELECT T_JOB_FAIR_POSITION_ID_SEQ.nextval id, A.* FROM (
        <foreach collection="list" index="index" item="item" separator="UNION ALL">
            SELECT #{item.coId} co_id, #{item.name} name, #{item.hireNum} hire_num, #{item.salary} salary,
            #{item.address} address, #{item.summary} summary, #{item.require} require FROM dual
        </foreach>
        )A
    </insert>

其中T_JOB_FAIR_POSITION_ID_SEQ.nextval 是获得招聘岗位id的下一个值,dual为Oracle中虚拟表,是不存在的。。foreach是在循环添加招聘岗位。

<!--添加招聘会公司与职位信息-->
	//T_JOB_FAIR_CO_ID_SEQ.nextval获得T_JOB_FAIR表中co_id 的下一个值,dual为虚拟表,是不存在的
    <select id="getFairCoSEQ" resultType="java.lang.String">
        SELECT T_JOB_FAIR_CO_ID_SEQ.nextval FROM dual
    </select>
	//增加招聘会的sql语句
    <insert id="addFairCo" parameterType="com.tecsun.sisp.iface.server.vo.FairCoBean">
        INSERT INTO T_JOB_FAIR_CO (id, fair_id, name, contact, tel, mobile, address, summary)
        VALUES (#{id}, #{fairId}, #{name}, #{contact}, #{tel}, #{mobile}, #{address}, #{summary})
    </insert>


例如,增加企业账户也是可能回同时增加好几个
<insert id="uploadCoAccount" parameterType="com.tecsun.sisp.iface.server.vo.CoBean">
        INSERT INTO T_CO_USER(ID, LOG_NAME, PASSWORD, NAME, CONTACT,
        TEL, MOBILE, EMAIL, ADDRESS, FAX,
        SUMMARY, STATUS, CREATE_TIME, CHECK_TIME, CHECK_MSG, INDUSTRY_CATEGORY)
        SELECT T_CO_USER_ID_SEQ.nextval id, A.* FROM (
        <foreach collection="list" index="index" item="item" separator="UNION ALL">
            SELECT #{item.logName} LOG_NAME, #{item.password} PASSWORD, #{item.name} NAME, #{item.contact} CONTACT,
            #{item.tel} TEL, #{item.mobile} MOBILE, #{item.email} EMAIL, #{item.address} ADDRESS, #{item.fax} FAX,
            #{item.summary} SUMMARY, #{item.status} STATUS, #{item.createTime} CREATE_TIME,
            #{item.checkTime} CHECK_TIME, #{item.checkMsg} CHECK_MSG, #{item.industryCategory} INDUSTRY_CATEGORY
            FROM dual
        </foreach>
        )A
    </insert>


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值