Как скрыть инкрементную вставку записи, добавленной в базу данных? - PullRequest
0 голосов
/ 19 октября 2018

Таблица A :

ID     NAME     SURNAME     BRANCH    
------------------------------------
1      Alma     Amelie       D         
5      Brisa    Broke        C    

Таблица B :

ID     NAME     SURNAME     BRANCH    Count
-------------------------------------------

Новая таблица B :

ID     NAME     SURNAME     BRANCH    Count
-------------------------------------------
1      Alma     Amelie       D         1 
5      Brisa    Broke        C         1

Я добавил таблицу b в таблицу a.Я хочу, чтобы таблица имела счет 1.

Например, получить счет 2, когда я хочу сделать вторую вставку в таблицу.Получите счет 3, когда я хочу сделать третью вставку в таблицу.Я хотел бы определить переменную из основной базы данных и увеличить ее до max + 1.

Как я могу это сделать?Я переместил стол, но я не мог сосчитать.Как я могу сделать.

public void InsertTable()
{
    "INSERT INTO" + tbl_B + "select ID,NAME,SURNAME,COUNT" + "FROM" TBL_A ;
    .
    .
}

Ответы [ 2 ]

0 голосов
/ 20 октября 2018
"INSERT INTO" + tbl_B + "select ID,NAME,SURNAME,(select max(COUNT)+1 from tbl_a)" + "FROM" TBL_A ;

Но он не будет работать с несколькими одновременными вставками.Для этого вы должны создать последовательность, если ваша база данных позволяет им.Вы получите пробелы, но уникальный, последовательный счет.

0 голосов
/ 19 октября 2018

Я пишу SQL-код, тогда все, что вам нужно, это просто вызвать это в вашем коде C #.frist запустите это в sql server на вашей базе данных

create proc checktableB
(
@id int
)
as

if  EXISTS ( select ID,NAME,SURNAME,COUNT(*)as count  FROM TBL_A where ID=@id)

begin 
declare @I int;
set @I=(select COUNT(*) from tbl_A group by ID,NAME,SURNAME having ID=@id)+1

update tbl_B set COUNT=@I where ID=@id 
end
else 
begin 
INSERT INTO tbl_B select ID,NAME,SURNAME,1 FROM TBL_A
end
GO
---===============================

Вызовите этот процесс в вашем методе в c #:

public void InsertTable(int _ID)
{
"exec  checktableB @id="_ID //(any new id you want to insert or check )
}
...