如何为每个trackid列表元素单独插入一条数据库记录
批量插入TrackID历史记录的单条脚本实现
当然可以用单条脚本实现批量插入,针对你的需求,以下是两种适用于SQL Server的实现方式(因为你用到了getDate()函数):
方法一:批量VALUES子句直接插入
直接在VALUES后追加多个TrackID对应的行数据,这是最直观的单条脚本写法,200-300条完全符合SQL Server的批量插入限制(默认支持最多1000行):
Insert into notes (type, trackID, Note, EntryDate, EntryID ) Values (1, '37782x', 'SOME History text HERE.', getDate(), 0), (1, 'y78929', 'SOME History text HERE.', getDate(), 0), (1, '87882s', 'SOME History text HERE.', getDate(), 0), (1, '989938-01', 'SOME History text HERE.', getDate(), 0), -- 继续添加剩余的TrackID行...
方法二:表值构造器结合INSERT...SELECT
如果需要更清晰的结构,也可以用表值构造器先定义所有TrackID,再通过SELECT语句填充固定字段:
Insert into notes (type, trackID, Note, EntryDate, EntryID ) SELECT 1, trackID, 'SOME History text HERE.', getDate(), 0 FROM ( VALUES ('37782x'), ('y78929'), ('87882s'), ('989938-01') -- 继续添加剩余的TrackID... ) AS TrackIDs(trackID)
注意事项
- 所有TrackID要注意单引号的正确闭合,避免语法错误;
- 如果你的TrackID存储在文本文件中,可以用文本编辑器的批量替换功能快速生成对应的行结构,减少手动输入工作量。
内容的提问来源于stack exchange,提问作者CFML_Developer
相关产品推荐
相关产品推荐

