mysql语法动态_MySQL数据库之MYSQL的动态SQL各类语法讲解

本文主要向大家介绍了MySQL数据库之MYSQL的动态SQL各类语法讲解 ,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助。

dc50ae1ce3b8faf7cf1d05adb317d9b0.png

if语法

parameterType="AccountsAdjustAccountSet002Dto">

SELECT COUNT(1) FROM BOK_BOOKSET

WHERE STATUS='E'

AND BOOKSET_NAME = #{booksetName}

AND BOOKSET_ID != #{booksetId}

select

NVL(sum(PRIN_AMT),0) PRIN_AMT

from

SEC_ORG_DEAL

where

STATUS IN ('A','E')

AND ENTRUST_ID = #{entrustId}

AND WORKFLOW_ID != #{workflowId}

choose, when, otherwise语法

SELECT ASSET_ID assetId,

SEC_ID secId,

ISIN_ID isinId,

SEC_ABBR secAbbr,

SEC_NAME secName,

INT_RULE_ID intRuleId,

RESET_RULE_ID resetRuleId,

UPDATE_TIME updateTime

FROM

SEC_INFO_TMP T

SEC_INFO_HIS T

SEC_INFO T

where, set语法,解决首尾问题

select

SUBJECT_NO id,

SUBJECT_ID object,

SUBJECT_NAME text,

'0'||SUBJECT_LEVEL as col

from

BOK_SUBJECT

and BOOKSET_ID = #{booksetId}

and STATUS = 'E'

update WFL_AGENT

START_DATE = #{startDate,jdbcType=DATE},

AGENT_TYPE = #{agentType,jdbcType=VARCHAR},

AGENT_ID = #{agentId,jdbcType=VARCHAR},

WORKFLOW_ID = #{workflowId,jdbcType=VARCHAR}

where USER_ID = #{userId,jdbcType=VARCHAR}

and START_DATE = #{startDateToUpdate,jdbcType=DATE}

最强大的foreach语句   collection是参数,一般是LIST 或者数组   item是迭代的元素

用于批量insert

insert into SJYZ_PROJ_ASSET_INFO (

PROJ_ASSET_INFO_ASSET_ID

,PROJ_ASSET_INFO_ASSET_NAME

,PROJ_ASSET_INFO_FINANCING_SIZE

,PROJ_ASSET_INFO_CCY

,INV_RATE_QUO_UPDATE_TIME

)

values

(

#{INFO.PROJ_ASSET_INFO_ASSET_ID,jdbcType=VARCHAR}

,#{INFO.PROJ_ASSET_INFO_ASSET_NAME,jdbcType=VARCHAR}

,#{INFO.PROJ_ASSET_INFO_FINANCING_SIZE,jdbcType=DECIMAL}

,#{INFO.PROJ_ASSET_INFO_CCY,jdbcType=VARCHAR}

,#{INFO.INV_RATE_QUO_UPDATE_TIME,jdbcType=TIMESTAMP}

)

用于查询,多个参数实现IN

SELECT NULL AS hisNo,

T.WORKFLOW_ID workflowId,

T.ASSET_ID AS assetId,

T.SEC_ID AS secId,

T.SEC_ABBR secAbbr,

T.SEC_TYPE secType

FROM SEC_INFO_TMP T

WHERE

T.CREATE_USER = #{loginUserId}

AND T.SEC_ID LIKE '%'||#{assetId}||'%'

 0">

AND T.COUPON_SPECIES IN

open="(" separator="," close=")">

'${item}'

SELECT ASSET_ID

FROM PROJ_ASSET_INFO

WHERE STATUS IN ('A','P')

 0">

AND ASSET_ID IN

open="(" separator="," close=")">

#{item}

include语法  静态包含

SELECT distinct

secInfo.hisNo,

secInfo.workflowId,

secInfo.assetId,

secInfo.secId,

secInfo.secAbbr,

secInfo.secType,

secInfo.vdate

secInfo ORDER BY secInfo.assetId, secInfo.workflowId DESC

本文由职坐标整理并发布,希望对同学们学习MySQL有所帮助,更多内容请关注职坐标数据库MySQL数据库频道!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值