Seznam témat:
nejčastější problémy při migraci z ASA7 na ASA9
Nejčastější problémy při migraci z ASA7 na ASA9
• | Při používání JOIN musí být operátorem ON spojeny jen joinované tabulky a ne jiné. Takže např. tento dotaz skončí chybou (illegal reference to correlation name): |
SELECT ...
FROM t1, t2 LEFT OUTER JOIN t3 ON t1.x=t3.x
Pro opravu jej stačí upravit takto:
SELECT ...
FROM t2, t1 LEFT OUTER JOIN t3 ON t1.x=t3.x
• | Poznatek o kurzorech. ASA9 vadí, když se declare napíše v jiném cursoru, tj. declare druhého cursoru nesmí být vnořené do prvního cursoru. Nemusí být na začátku procedury v deklaracích, ale nesmí se deklarovat v jiném již otevřeném kurzoru. |
• | Agregační fce v podselektech se nesmí odkazovat na sloupce mimo onen podselekt, jinak to skončí chybou "Aggregated expression contains multiple columns of which one or more are outer references". |
Takže např. tohle skončí chybou:
SELECT t1.field1, t1.field2, (select MAX(t2.fieldX-t1.fieldY) from table2 as t2) as field3
FROM table1 as t1
• | SELECT FIRST bez použití ORDER BY vrací v ASA 9 warning s sqlstate = '01W18' (The result returned is non-deterministic) |
• | ASA9 standardně blokuje updaty prim. klíče u tabulek, které jsou v publikacích (dojde k chybě sqlcode = -780). Musí se to explicitně povolit takto: |
SET OPTION "PUBLIC"."Prevent_article_pkey_update" = 'Off'
Související témata
|