Jeg har et statement der virker i mssql, som jeg skal have "oversat" til mysql.
UPDATE Numplan Set alertingname = DeviceNumPlanMap.Display FROM NumPlan inner join DeviceNumPlanMap on DeviceNumPlanMap.fkNumPlan = NumPlan.pkid inner join Device on DeviceNumPlanMap.fkDevice = Device.pkid WHERE NumPlan.dNorPattern='2103'
Teknologi, AI og forretning er i centrum på Computerworlds Cloud og AI Festival i København d. 18. og 19. september. Se hele programmet for den store konference om strategisk brug af Cloud og AI på: www.cloud-festival.dk
UPDATE Numplan Set alertingname = DeviceNumPlanMap.Display FROM NumPlan inner join DeviceNumPlanMap on DeviceNumPlanMap.fkNumPlan = NumPlan.pkid inner join Device on DeviceNumPlanMap.fkDevice = Device.pkid WHERE NumPlan.dNorPattern='2103'
Ja næsten, men stadigvæk så virker ovenstående statement ikke, når man kører det fra kommandoprompten i en Cisco Callmanager 6.0 (som kører mysql) - Dog gør det præcis som det skal i mssql. Det er jo ikke fordi jeg ikke har prøvet... Ellers ville jeg jo nok have fundet ud af, at der kunne bruges præcis samme statement. Der må være et eller andet der skal skrives anderledes.
Problemet er, at Callmanageren ikke giver nogen anden fejlmeddelelse end, at der er en fejl. Så desværre ikke nogen specificeret fejlmeddelelse. Hvad der angår versionen af Mysql, så kan jeg desværre ikke finde den oplysning nogen steder, men hvis man tager efter hvornår Cisco Callmanager 6.0 er udgivet (August 2007), så må det være en ret ny version.
Du kan ikke bruge FROM i en UPDATE, og det overrasker mig lidt hvis MSSQL rent faktisk slugte den der. Hvis tanken er at hente en værdi fra en anden tabel, skal du lave en subselect (... SET alertingname = (SELECT DeviceNumPlanMap...) .
Jeg har ikke fået det til at virke endnu, men jeg har lige et spørgsmål mere for, at pejle mig ind på hvor det går galt. Jeg har lavet et eksempel neden under:
Jeg laver derefter nedenstående query, hvor jeg vil have alertingname i Numplan til at være lig med display i dbcli.v3 , hvor pkid er er det samme i begge tabeller
UPDATE NumPlan,dbcli.v3 SET NumPlan.alertingname = dbcli.v3.display WHERE NumPlan.pkid = dbcli.v3.pkid
Det virker ikke... Er der nogen der kan guide mig hen imod hvad fejlen evt kan være?
UPDATE NumPlan SET NumPlan.alertingname = ( SELECT display FROM 'dbcli.v3' WHERE 'dbcli.v3'.pkid = NumPlan.pkid )
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.