我想创建一个将我所有的作业插入数据库的过程。
(a. 我所有的工作都具有相同的特征。b. SSDT 不支持工作代码管理)
现在,我想创建一个脚本来插入所有这些,作为 ac# develpoer,我想我需要用它们的名字初始化一个列表。
我在谷歌搜索时发现这样做的方法是使用内存表,而我能得到的最好的就是这个。
declare @jobsNames table(Id int, JobName nvarchar(100))
insert into @jobsNames (Id,JobName)
select 1,'JobName1' union
select 2,'JobName2' union
......
BEGIN TRANSACTION
DECLARE JobsCursor CURSOR FOR SELECT JobName FROM @jobsNames
OPEN JobsCursor
FETCH NEXT FROM JobsCursor INTO @JobName
WHILE @@Fetch_status = 0
BEGIN
.. do stuff
FETCH NEXT FROM JobsCursor INTO @JobName
WHILE @@Fetch_status = 0
END
COMMIT TRANSACTION
问题 -
这是最短/推荐的方式吗?
(这似乎是一个 foreach 的 hellotof 代码)