Итак, вот настройки. У меня есть две таблицы:
CREATE TABLE dbo.TmpFeesToRules1(Name varchar, LookupId int)
CREATE TABLE dbo.TempFeesToRules2(FeeId int, Name varchar)
У меня есть третья таблица под названием «Плата» в базе данных, которая уже создана. Я хочу заполнить поле «Имя» dbo.TmpFeesToRules1 с DISTINCT «Имя» от «Плата». Буду ли я делать это так?
INSERT INTO dbo.TmpFeesToRules1(Name, LookupId)
VALUES (SELECT DISTINCT Name FROM Fee, 0)
Затем я хочу использовать курсор, чтобы перебрать dbo.TmpFeesToRules1 и вставить каждую из этих строк в другую таблицу с именем «Lookup», чтобы этим именам затем был назначен LookupId:
DECLARE db_cursor CURSOR FOR
SELECT Name
FROM dbo.TmpFeesToRules1
OPEN db_cursor
FETCH NEXT FROM db_cursor INTO @Name
WHILE @@FETCH_STATUS = 0
BEGIN
INSERT INTO dbo.Lookup (LookupType, LookupDesc)
VALUES ('FEE', @Name)
FETCH NEXT FROM db_cursor INTO @name
END
CLOSE db_cursor
Затем я хочу вернуться к dbo.TmpFeesToRules1, обновить его и вставить эти LookupId для каждого из имен. Как мне это сделать?
Кроме того, я не думаю, что мой SQL тоже полностью подходит для всего остального? Ребята, можете это проверить?