In ArcMap you can calculate a field on a joined table to just move the attributes from one column to another with just an = sign. Since my layer has feature linked anno on 7 different layers the calculation has to be done in an edit session. I tried this and it ran over three hours and not sure if it was going to finish. This won't work since I have to do this on about 30 fields.
I am trying to do this in ArcPy. I was using arcpy.CalculateField_management. I don't think that works based on the error I received. The error is invalid property. I think this means that it wants to make a calculation not just move attributes.
Here is my sample code:
import arcpy
from arcpy import env
anno_conn = "\\\\any database"
env.workspace = anno_conn
#Variables
Table_A = "data_1"
Table_B = "data_r3"
Layer_A = Table_A + "_lyr"
Layer_B = Table_B + "_lyr"
try:
#join tables
arcpy.MakeFeatureLayer_management(Table_A, Layer_A)
arcpy.MakeFeatureLayer_management(Table_B, Layer_B)
arcpy.AddJoin_management(Layer_A, "visi_link", Layer_B, "prior_visi")
# Using an edit session - feature linked layer can't be edited outside an edit session
# inside try edits will be saved if successful, will roll back if an exception is thrown
with arcpy.da.Editor(env.workspace) as edit:
arcpy.CalculateField_management(Layer_A, Table_A + ".link_id", "!" + Table_B + ".link_id!", "PYTHON")
except Exception, err:
traceback.print_exc()
It seems to work up until the Calc field line.