利用逗号分隔符批量生成插入语句

本文介绍了一种使用T-SQL动态构建并执行插入语句的方法,通过字符串拼接实现向[S_Smsobj]表中插入带有特定ID的数据记录。此方法适用于需要动态生成SQL语句的场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


declare @sql varchar(1000)

set @sql='INSERT INTO [S_Smsobj] VALUES('''+ replace(@ShouID,',',''','+convert(varchar(50),@Sms_ID)+',0,0);INSERT INTO [S_Smsobj] VALUES(''')
set @sql=@sql+''','+convert(varchar(50),@Sms_ID)+',0,0);'
--PRINT @sql
exec (@sql)
### MyBatis 中 `foreach` 标签分隔符的设置 在 MyBatis 中,`foreach` 标签用于处理集合数据并生成重复的 SQL 片段。为了确保生成SQL 正确无误,合理配置 `separator` 属性至关重要。此属性定义了每次迭代之间使用的字符串。 #### 配置 `separator` 当使用 `foreach` 进行多值查询时,可以通过设定 `separator` 来指定各参数间的间隔字符。例如,在构建 `IN` 子句时,通常会用逗号作为分隔符: ```xml <select id="listMemo" resultType="com.example.demo.domain.BmsBillMemo"> select * from bms_bills_memo <where> and id in <foreach collection="ids" open="(" close=")" item="idItem" separator=","> #{idItem} </foreach> </where> </select> ``` 上述代码片段展示了如何利用 `separator` 将多个 ID 值连接起来形成有效的 `IN` 查询[^3]。 对于更复杂的场景,比如需要插入或更新记录时传递数组形式的数据,则同样适用这种方式来控制每项之间的分割方式。值得注意的是,除了简单的符号外,还可以自定义更为复杂的内容作为分隔符,只要它不会干扰最终形成的SQL语法即可。 #### 实际应用案例 假设有一个需求是要向数据库表中批量插入若干条新纪录,此时就可以借助于 `foreach` 和其 `separator` 属性完成这一任务。下面是一个具体的例子说明怎样做: ```sql INSERT INTO some_table (column1, column2) VALUES <foreach collection="items" item="item" index="index" open="" separator="," close=""> (#{item.column1}, #{item.column2}) </foreach>; ``` 这里不仅设置了基本的分隔符 `,` ,还通过调整 `open` 及 `close` 参数使得整个语句更加整洁美观[^1]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值