>Dear All,
>
>I want to programmatically insert field into database table after
>specific field.
>Normally Alter Table will add field on the bottom of fields order
>whereas I want to add it let say as 3rd column in table.
>
>Is this possible and how ?
>
>TIA
Not with ALTER TABLE, You could use AFIELDS to get all fields in array insert new array element at 3th position and then create table from that array, append records from all table, delete old table and rename newly created one to old name.
The big question here is why?
One more method:
USE MyOldTable
lcSELECT = [SELECT ]
FOR lnFor = 1 TO FCOUNT()
IF lnFor = 3
lcSELECT = lcSELECT + [ CAST(xxxx AS (desired type)) AS NewField, ]
ENDIF
lcSELECT = lcSELECT + FIELDS(lnFor)+[,]
NEXT
lcSELECT = LEFT(lcSELECT, LEN(lcSELECT)-1) +[ FROM MyOldTable INTO TABLE tmpNewTable]
&lcSELECT
Then again delete old table and rename new one
Against Stupidity the Gods themselves Contend in Vain - Johann Christoph Friedrich von Schiller
The only thing normal about database guys is their tables.