sync SVN r18205
This commit is contained in:
@@ -4,6 +4,9 @@ Comun tuturor proiectelor ROA*.
|
||||
|
||||
## Ce nu functioneaza
|
||||
|
||||
Exemple deja rezolvate cu SELECT in loc de ALTER: `overificari.vc2:3088`,
|
||||
`frm_import_extrase_banca.sc2:2324`.
|
||||
|
||||
```foxpro
|
||||
lnSucces = goExecutor.oExecute(lcSql, lcCursor)
|
||||
...
|
||||
@@ -38,6 +41,10 @@ USE IN (lcCursorRaw)
|
||||
* de-aici incolo doar REPLACE (date), NICIODATA ALTER TABLE (structura) pe (lcCursor)
|
||||
```
|
||||
|
||||
Dupa acest pas cursorul (`lcCursor`) e un cursor local obisnuit - `ALTER TABLE` functioneaza
|
||||
normal pe el DUPA ACEEA (ex. intr-o alta functie care primeste cursorul deja gata construit),
|
||||
doar comanda imediat urmatoare unui `oExecute()` e restrictionata.
|
||||
ATENTIE: nici cursorul rematerializat NU accepta `ALTER TABLE` daca are un nume de camp peste
|
||||
10 caractere (eroare 1115 `Invalid operation for the cursor.`). Garda `SourceType = 3` nu
|
||||
ajunge. Cursoarele din `select * from v_...` (ex. `tact` = `vact_tot`: id_jtva_coloana,
|
||||
id_sucursala, tva_incasare) au astfel de campuri -> `ALTER TABLE` nu se foloseste deloc pe ele.
|
||||
Schimbarea tipului unei coloane (T -> D) se face cu `SELECT` explicit, `TTOD(camp) AS camp`,
|
||||
in alias temporar si inapoi `INTO CURSOR ... READWRITE`; sau grila se leaga la `TTOD(camp)`.
|
||||
`ALTER TABLE` merge doar pe cursor cu nume <= 10 caractere, creat de tine.
|
||||
|
||||
Reference in New Issue
Block a user