我正在努力寻找一种方法来将我需要的一切都放入一个 SQL 语句中进行优化,我将 SQL Server 与 Visual Studio 一起使用。
我有两张桌子
number
ID | number | sorted_id
0 1423 0
1 1324 0
3 8293 1
sorted_number
ID | sorted_number
0 1234
1 2389
循环遍历一个数组,我会将数字重新组织成顺序,使 4812 变为 1248。然后我想将 int 数字放入 number 表,将 int sorted_number 放入 sorted_number 表,然后从 sorted_number 表中获取 ID 并将其放入到正确位置的数字表中。做这一切而不会得到任何重复的值。
我目前从表中选择以查看每次迭代中是否已经存在该值的方法对性能来说确实很糟糕。
有任何想法吗?
编辑:
在@acfrancis 响应之后,这是我试图形成的代码:
insert_data = db.Query("insert into sorted_number (sorted_number) values (@sorted_number)" +
"declare @myid int" +
"set @myid = scope_identity()" +
"insert into number (number, sorted_id) values (@number, @myid)", sorted_number , number);
当我到达声明的声明部分时,我收到一个错误。