У меня проблема SQL... я не могу обработать инструкцию update, основанную на нескольких таблицах. я уже просматривал учебники и форумы, настраивал свой код, пытался, пытался... но все равно не работает.
Можете ли вы мне помочь и сказать, где проблема? Был бы благодарен за любой маленький совет. Под моим обновлением-выражением..
салют
okanog
Код:
UPDATE 'system'
JOIN System AS Sys ON service.Servicename_ID = Sys.FK_Service_ID
JOIN Hardware ON System.System_ID = Hardware.FK_System_ID
JOIN Verantwortlichkeit ON System.System_ID = Verantwortlichkeit.FK_System_ID
JOIN Zertifikate ON System.System_ID = Zertifikate.FK_System_ID
JOIN hardware_servername ON hardware.Servername = hardware_servername.Servername_ID
JOIN hardware_domaene ON hardware_domaene.Domaene_ID = hardware.Domaene
JOIN hardware_betriebssystem ON hardware_betriebssystem.Betriebssystem_ID = hardware.Betriebssystem
JOIN hardware_standort ON hardware_standort.Standort_ID = hardware.Standort
JOIN verantwortlichkeit_personen AS AA ON AA.Verantwortlichkeit_Personen_ID = system.Hersteller
JOIN verantwortlichkeit_personen AS AB ON AB.Verantwortlichkeit_Personen_ID = system.Externer_Partner
JOIN system_verfuegbarkeitsstufe ON system_verfuegbarkeitsstufe.Verfuegbarkeitsstufe_ID = system.Verfuegbarkeitsstufe
JOIN system_systemname ON system_systemname.Systemname_ID = system.Systemname
JOIN system_systemnummer ON system_systemnummer.Systemnummer_ID = system.Systemnummer
JOIN verantwortlichkeit_rolle ON verantwortlichkeit_rolle.Verantwortlichkeit_Rolle_ID = verantwortlichkeit.Rolle
JOIN verantwortlichkeit_personen AS A0 ON A0.Verantwortlichkeit_Personen_ID = verantwortlichkeit.Hauptverantwortlicher
JOIN verantwortlichkeit_personen AS A1 ON A1.Verantwortlichkeit_Personen_ID = verantwortlichkeit.Stellvertretung
JOIN verantwortlichkeit_personen AS A2 ON A2.Verantwortlichkeit_Personen_ID = verantwortlichkeit.Wissenstraeger_1
JOIN verantwortlichkeit_personen AS A3 ON A3.Verantwortlichkeit_Personen_ID = verantwortlichkeit.Wissenstraeger_2
JOIN verantwortlichkeit_personen AS A4 ON A4.Verantwortlichkeit_Personen_ID = verantwortlichkeit.Verantwortlichkeit_extern
SET
Sys.Systemnummer = '1',
Sys.Systembeschreibung = 'testbeschreubuzng',
Sys.Hersteller = 'Okan Koc',
Sys.Externer_Partner = 'Okan Koc',
Sys.'BKAG_Brugg' = b'1',
Sys.'BCIAG_Brugg' = b'1',
Sys.'Cables_Diverse_PL_CN_US_DE' = b'1',
Sys.'BINF' = b'1',
Sys.'BRAG_Kleindoettingen' = b'1',
Sys.'BRG_Wunstorf' = b'1',
Sys.'BGP_Nordhausen' = b'1',
Sys.'Pipes_Diverse_FR_PL_IT_US' = b'1',
Sys.'Ropes_BDAG_Birr' = b'1',
Sys.'HOLDING_Brugg' = b'1',
Sys.'BIAG_Brugg' = b'1',
Sys.'BPK_Brugg' = b'1',
Sys.'Dritte_Schule_Brugg_LithCom_usw' = b'1',
Sys.'Verfuegbarkeitsstufe' = '1',
Sys.'Datenverlust' = '1',
Sys.'Systemname' = 'Testsystem',
hardware.'Servername' = 'srvntstest',
hardware.'Domaene' = 'cables.bruggnet.com',
hardware.'Betriebssystem' = 'Windows Server 2012 R2',
hardware.'Lokale_Datenbank' = '1',
hardware.'Datenbank_SQL_Master' = 'SQLTEST',
hardware.'Instanzname' = 'Testinstanz',
hardware.'Standort' = 'RZ 1',
hardware.'Backup_mit' = 'Veeam',
verantwortlichkeit.'Rolle' = 'Systemtechnik',
verantwortlichkeit.'Hauptverantwortlicher' = 'David Grunder',
verantwortlichkeit.'Stellvertretung' = 'Robin Gloor',
verantwortlichkeit.'Wissenstraeger_1' = 'Okan Koc',
verantwortlichkeit.'Wissenstraeger_2' = 'Marc Gerber',
verantwortlichkeit.'Verantwortlichkeit_extern' = 'infor',
zertifikate.'Zertifikatname' = 'testzertifikat',
zertifikate.'Ablaufdatum' = '27.12.2001'
WHERE Sys.System_ID = 1
Невозможно определить все возможные ошибки в таком длинном запросе, но во второй строке есть две ошибки, которые я вижу, Service
не определена и вы соединяетесь с самой System
таблицей
UPDATE 'system'
JOIN System AS Sys ON service.Servicename_ID = Sys.FK_Service_ID
Его нужно изменить на что-то вроде
UPDATE System Sys
JOIN Service ON Service.Servicename_ID = Sys.FK_Service_ID