2016-04-05 2 views
0

Вот код, который я пробовал, но он терпит неудачу, поскольку я думал, что кто-нибудь знает, как заставить это работать, пожалуйста.sql запрос, назначающий инструктора другому региону с использованием двух таблиц

UPDATE Instructor,Car 
SET CarNo='3', regNO ='RF10 AAF' 
WHERE CarNo='7',regNo='QW64 YTR'; 
+0

Пожалуйста, постарайтесь решить вашу проблему. Нет никакой структуры таблицы, ни в регне, ни в инструкторе не требуется в заголовке, форматирования нет. И, наконец, вы должны искать «обновление соединения». –

+0

, если я обновляю только одну таблицу, ее штраф i.e UPDATE Instructor SET CarNo = '3' WHERE CarNo = '7'; , но я хочу обновить два стола одновременно инструктором и автомобилем. – Makurious

+0

Вы можете обновить только одну таблицу в одном запросе на обновление. Если вы хотите обновить таблицы для автомобилей и инструкторов, вам понадобятся два оператора UPDATE. Однако неясно, что вы пытаетесь сделать, поскольку неясно, какое поле принадлежит к какой таблице. –

ответ

0

Вероятно, что-то вроде этого:

BEGIN TRANSACTION 

UPDATE Instructor SET CarNo='3' WHERE CarNo='7'; 

UPDATE Car SET regNO ='RF10 AAF' WHERE regNo='QW64 YTR'; 

COMMIT; 

Вы должны убедиться, что это то, что вы хотите сделать, хотя. Поймите, что если преподаватель связан с автомобилем 3, у которого уже есть reg No, который вам нужен, вам не нужно обновлять таблицу автомобилей; инструктор должен быть связан с новой версией автомобиля no, когда вы обновляете автомобиль инструктора (при условии, что между инструктором и автомобильными таблицами существует связь на основе carNo).

+0

попробовал выше, но я получил это сообщение об ошибке. Ошибка запроса: ОШИБКА: синтаксическая ошибка в или рядом с «UPDATE» LINE 3: UPDATE Instructor SET CarNo = '3' WHERE CarNo = '7' ^. – Makurious

+0

Может потребоваться полуколона после BEGIN TRANSACTION. Я не слишком уверен, я написал T-SQL, а не Postgres. Не должно быть слишком далеко: -/ –

+0

первая часть работы работала, однако я понял, что хотя ican переименует его в carno 3, то, что мне кажется, мне нужно сделать, это переключить его carno и reg на другой драйвер что способ сделать это, вы знаете, пожалуйста? поэтому вместо обновления мне нужно переключать места с помощью другого драйвера. у которого есть машина, которую он теперь должен иметь, если это имеет смысл, если я не полностью понимаю это. – Makurious

Смежные вопросы