Получение новых идентификаторов после вставляет

К сожалению, приятный рабочий процесс spyder не предоставляется ни одним официальным расширением на данный момент (насколько я знаю).

Но вы можете легко реализовать основы самостоятельно, написав расширение. Даже не имея опыта работы с TypeScript, вы можете быстро создать расширение, которое запускает консоль IPython, как только вы открываете файл Python. Мне также удалось выполнить сценарий запуска, который реализует метод runfile. VS Code также позволяет связывать клавиши для ваших функций, так что вы можете работать почти так же, как и со spyder.

Spyder немного изменил терминал IPython, поэтому он не будет выглядеть точно так же. Но в конце концов, все, что есть с открытым исходным кодом, чтобы вы могли реализовать его самостоятельно, что я и стараюсь делать в свободное время.

37
задан Dale K 4 November 2019 в 09:09
поделиться

3 ответа

Use the OUTPUT functionality to grab all the INSERTED Id back into a table.

CREATE TABLE MyTable
(
    MyPK INT IDENTITY(1,1) NOT NULL,
    MyColumn NVARCHAR(1000)
)

DECLARE @myNewPKTable TABLE (myNewPK INT)

INSERT INTO 
    MyTable
(
    MyColumn
)
OUTPUT INSERTED.MyPK INTO @myNewPKTable
SELECT
    sysobjects.name
FROM
    sysobjects

SELECT * FROM @myNewPKTable
88
ответ дан 27 November 2019 в 04:23
поделиться

User this stored Procuedure

this will be a dynamic primary key..


SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO

CREATE PROCEDURE sp_BulkInsertCountry ( @FilePath varchar(1000) ) AS BEGIN--PROCEDURE --variable declaration declare @SQL varchar(500) declare @id int declare @CountryName varchar(30)

--Create temporary table for Country CREATE TABLE #tmpCountry ( CountryName varchar(30), )

---executing bulk insert on temporary table SET @SQL='BULK INSERT #tmpCountry from ''' + @FilePath + ''' WITH (FIELDTERMINATOR ='','',ROWTERMINATOR=''\n'')' EXEC(@sql)

DECLARE cursor_Country CURSOR READ_ONLY FOR select [CountryName] from #tmpCountry

OPEN cursor_Country FETCH NEXT FROM cursor_Country INTO @CountryName WHILE @@FETCH_STATUS=0 BEGIN SELECT @id=isnull(max(Countryid),0) from tblCountryMaster SET @id=@id+1 INSERT INTO tblCountryMaster values(@Id,@CountryName) FETCH NEXT FROM cursor_Country INTO @CountryName END CLOSE cursor_Country DEALLOCATE cursor_Country END--PROCEDURE

GO SET QUOTED_IDENTIFIER OFF GO SET ANSI_NULLS ON GO

For More details visit following link http://jalpesh.blogspot.com/search?q=bulk+insert

0
ответ дан 27 November 2019 в 04:23
поделиться

создать таблицу для установки всех новых идентификаторов. затем сделайте петлю для всех вставок. внутри цикла сделайте нужную вставку с помощью SCOPE_IDENTITY (). после вставки получите новый идентификатор и вставьте его в новую таблицу, для которой вы создали. в конце выберите * из [newTable].

0
ответ дан 27 November 2019 в 04:23
поделиться
Другие вопросы по тегам:

Похожие вопросы: