>>why not :
>>sele * from some_alias into cursor tmpCur where .f.
>>
>>this gives you the same in one line!
>
>Hi Peter
>
>I know. With readwrite clause you should get the same; proper local cursor. But somehow it just isn't !
>
>I started in fact doing doing it at some point in the past, but then run into some strange/unexpected problems on resulting cursor
>which I simply could not explain. It was one of those situation where by all logic everything should just work but for some reason it does not!
>
>After beating my head for a while, I tried to reverse steps in terms of thinking what I did different now then what I did so many times before,
>and it was exactly that switch from creating cursor from array - versus cute/elegant one line statement.
>
>Moment I reverted back to old way - problem was gone! You can't explain it rationally (at least I can't) but this is exactly what happened. It does not happen every time you create cursor with one line sql, but problem DID occur in a worse possible
>manner - which is random and without logical reason or bug in the program.
>
>I wish I had time/skill of that Italian guy (Fabio ?) to dig deep/debug and come to the bottom of why/how it is all happening,
>but since that is not the case I simply reverted back and continued down the line my old less elegant but problem-free way.
>To clarify, I did NOT have field longer then 10 chars which created problem to Denis. In this case problem was something else.
>What exactly I do not know, but it did happen.
>
>I know it is just war zone anecdote, but it might help someone to look at yet another possible cause of some weird problem in similar scenario.
A cursor is just a hybrid - table / free table
For alter table, it behaves like a free table
It is possible - I've done it in the past - to have a record validation rule (and I think also insert/delete/update triggers ) as long as you create the cursor with 'create from array'
Gregory