Как обновлять таблицу распределяя ему в данные стоимость Вашей информации “отца” другой таблицы

Я пробую обновлять таблицу в Oracle SQL Developer и он дает мне следующую проблему:

SQL command not properly ended

У меня есть связь 1:N, в которой я хочу распределить ту же стоимость, которая имеет поле по отношению к оставшейся части данных о таблице, у которой есть тот же код. Консультация, которая у меня есть прямо сейчас, - следующая:

    UPDATE MTRAS M 
       SET M.COD_ANCHOV = DT.COD_ANCHOV 
      FROM MTRAS M, D_TECN DT 
     WHERE DT.CODTR = M.TRAM AND
           M.HASTA IS NULL AND
           M.BOJO IS NULL AND
           M.TRAM = '010101'

Я надеюсь, что они смогли объяснять мне, где может находиться неудача, так как я иду много, не реализовывая update этого типа и не смог ничего не понять в увиденном под Интернетом.

1
задан 17.01.2017, 15:05
0 ответов

Oracle не позволяет этот синтаксис для UPDATE с joins. Ты можешь пытаться следующей формы:

UPDATE MTRAS 
SET MTRAS.COD_ANCHOV = (SELECT D_TECN.COD_ANCHOV FROM D_TECN  
                        WHERE MTRAS.CODTR = D_TECN.TRAM)
WHERE  MTRAS.HASTA IS NULL AND
       MTRAS.BOJO IS NULL AND
       MTRAS.TRAM = '010101'
3
ответ дан 03.12.2019, 17:39
  • 1
    спасибо @Lamak видно, что она не является также solució n, я сделал, такой который то, что ты сказал, и я dió следующая ошибка: Ошибка SQL: ORA-01427: single-row subquery returns обитайте than one row. Aú n así спасибо, я предупреждаю, если я встречаю solució n –  17.01.2017, 15:22
  • 2
    Я описываю это тебе с algú n тип примера, D_TECN - машина и есть у информации, что код, который идентифицирует средства Ваших дверей: COD_ANCHOV. MTRAS - двери индивидуальной формы и мы будем помещать случай, который все средства измеряют равно, и он обладает tmb кодом, который идентифицирует средство. Ну вот, в настоящее время есть двери, которые соответствуют машине с Вашей стоимостью в null или отличные от установленного в таблице машины, и я хочу, чтобы все двери у него были средства Вашей соответствующей машины. Я надеюсь, что ты понял меня @Lamak –  17.01.2017, 16:16
  • 3
    @Javier: в конце концов, ¿ ты принял ответ, потому что ты funcionó или ты siguió давая ошибку? –  17.01.2017, 19:50
  • 4
    @JavierGT Он важен, чтобы ты принял ответ só это, когда действительно тебя решает проблема –  17.01.2017, 20:49
  • 5
    Извинение @Lamak я поместил ее как решенная, потому что он думал, что как ответ вслед за доказательствами с ú nico стоимость была vá lida, хотя не queriendo результат, который я ждал, так как я должен делать процедуру, но чтобы решать ту же проблему, что и в mí он valdrí в, но сегодня я делаю людям доказательства má s especí ficas и не является правильной solució n. Я прошу прощений. –  18.01.2017, 10:50

Теги

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