Я пытаюсь не писать приложение, чтобы сделать это, и улучшить мой SQL mojo в то же время...
Скажем, у меня есть данные в одной таблице базы данных Database1.dbo.MyTable
со следующими столбцами:
- ObjectType
- ObjectKeyID
Есть тысячи этих строк.
В Database2.dbo.MyOtherTable
у меня есть немного другая схема, скажем:
- MyKey
- MyValue
Я хочу взять данные из Database1.dbo.MyTable
и использовать каждую строку данных как INSERT в Database2.dbo.MyOtherTable
.
Я предполагаю, что мне нужно установить курсор в цикле while, но не уверен в точном синтаксисе, чтобы сделать это, или если есть лучший способ. Какая лучшая техника/синтаксис для этого?
EDIT: здесь то, что я закончил использовать (поля, измененные для этого примера), отлично поработал над тем, чтобы убедиться, что ключи существовали до вставки:
INSERT INTO Database2.dbo.MyOtherTable (MyKey, MyValue)
SELECT ObjectType, ObjectKeyID FROM Database1.dbo.MyTable
WHERE ObjectType LIKE 'Widget' AND ObjectKeyID > 0 AND ObjectKey IN (SELECT UserAccountID FROM MyUsers)