MySQL存储过程中使用动态sql语句

MySQL存储过程中使用动态sql语句,第1张

MySQL的存储过程在5.0后的版本中支持了动态sql语句。也就是说我们可以通过传的参数不同拼接查询不同的表或执行不同的语句。

如:需要根据不同的游戏ID去增加 TGameData_ID 表中玩家对应的金币数。

如:需要根据不同的游戏ID去 TGameData_ID 表中查询玩家对应的金币数,数量足够减去,数量不够不减。

单个&符号替换。SQL语句中最基本、最普遍元素替换形式是单个&符号替换。&符号是用来在语句中指定替换变量的符号。当执行语句时,Oracle服务器处理语句,发现替换变量,并尝试用下面两种方法之一来解析变量的值。首先,它检查在用户会话中是否定义了该变量(DEFINE命令)。倘若没有,用户进程会提示输入一个值,这个值会替换变量。

<delete id="deleteUser" parameterType="list">

delete from user where id in

<foreach collection="list" item="id" open="(" separator="," close=")">

#{id}

</foreach>

</delete>

<select id="findUserBySex" resultType="user">

select * from user where name in

<foreach collection="roleNoList" item="name" index="index" open="(" separator="," close=")">

#{roleNo}

</foreach>

</select>

<insert id="addUser" parameterType="user" >

insert into user(name,id,code) values

<foreach collection="list" item="item" separator=",">

(#{item.name},#{item.id},#{item.code})

</foreach>

</insert>

<update id="updateUser" parameterType="user">

update user set a = #{fptm},b=#{csof} where c in

<foreach collection="list" item="item" open="(" separator="," close=")">

#{item}

</foreach>

</update>


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/6100515.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-14
下一篇 2023-03-14

发表评论

登录后才能评论

评论列表(0条)

保存