回答

收藏

使用T-SQL插入n条记录

技术问答 技术问答 326 人阅读 | 0 人回复 | 2023-09-14

我想在表中添加可变数的记录(天)
/ W7 v# i# ]3 T我看到了一个很好的解决方案:0 f/ s+ x- U0 _0 S. U; F1 u: a% Q
SET @nRecords=DATEDIFF(d,'2009-01-01',getdate())SET ROWCOUNT @nRecordsINSERT int(identity,0,1) INTO #temp FROM sysobjects a,sysobjects bSET ROWCOUNT 0但是可悲的是,这在UDF因为#temp和SET ROWCOUNT)。你知道如何实现吗?
" A! b2 d& l9 _& c' j我现在正在用它WHILE用表变量完成此操作,但就性能而言,这并不是一个很好的解决方案。
$ B( F9 a- V4 r0 z                                                               
% Q2 i  r, X) Q7 R1 e0 W0 q# t    解决方案:                                                               
4 @% {& I+ Y2 T6 n5 i8 F                                                                这是我正在使用的方法,对我的目的和使用SQL/ ^& u3 ]! m9 E' R! e+ `. `
2000年效果最好。因为就我而言,它位于UDF所以我不能用##或#临时表,所以我变量。我在做:, u8 d- S4 d% }
DECLARE @tblRows TABLE (pos int identity(0,1),num int) DECLARE @numRows int,@i intSET @numRows = DATEDIFF(dd,@start,@end)   1SET @i=1WHILE @i<@numRowsbegin    INSERT @tblRows SELECT TOP 1 1 FROM sysobjects a    SET @i=@i 1end
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则