ОБНОВЛЕНИЕ Проблема запроса - PullRequest
0 голосов
/ 18 октября 2011

Я портирую свой код, который использовал MS Access, на Sqlite. У меня проблема с запросом ОБНОВЛЕНИЕ,

UPDATE Table1 T1, Table2 T2
SET T1.USE_MHE = T2.USE_MHE
WHERE T1.EQ_NAME= T2.EQ_NAME 

Вышеупомянутый запрос отлично работает для подключения ADO MS access. Но для SQLite похоже, что использование ярлыка таблицы невозможно (Table1 T1). У меня есть 100 таких запросов для обновления Пожалуйста, дайте мне знать, как ярлык таблицы можно использовать в запросе обновления SQLite.

5:SqliteError 
near "T1" Syntax error

Ответы [ 3 ]

0 голосов
/ 18 октября 2011
update table1 
set use_mhe=( select use_mhe 
              from table2 
              where eq_name=table1.eq_name )
where use_mhe= ( select use_mhe 
        from table2 
        where eq_name=table1.eq_name )

не равно нулю;

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

попробуйте это:

UPDATE Table1
SET USE_MHE = (SELECT USE_MHE FROM Table2 WHERE Table1.EQ_NAME = Table2.EQ_NAME)
0 голосов
/ 18 октября 2011

Документы ОБНОВЛЕНИЕ предполагают, что это просто невозможно. Возможно, вы сможете что-то взломать с помощью виртуальных или временных таблиц, но я думаю, что это будет намного сложнее, чем просто использование полных имен таблиц.

Кроме этого, вы можете просто использовать любой псевдоним и инструмент замены вашего редактора.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...