我有一个名为xro_zips_import的表,它位于sql server数据库中。它包含数百万行数据。我在表格中有一个名为“City”和“CityAliasName”的列。我需要删除city列并将CityAliasName更改为City。我不确定如何在Python中正确使用sp_Rename过程。这就是我现在所拥有的。
conn.cursor().execute('ALTER TABLE xro_zips_import DROP COLUMN City')
conn.commit()
conn.cursor().execute("{EXEC sp_RENAME} (?,?,?), ('xro_zips_import.CityAliasName', 'City', 'COLUMN')")
conn.commit()
这是执行sp_RENAME后收到的错误
Traceback(最近一次调用最后一次):文件 “Z:\ Projects \ ZipCodes \ ftpUpdate.py”,第274行,in conn.cursor()。execute(“{EXEC sp_RENAME}(?,?,?),'xro_zips_import.CityAliasName','City','COLUMN'”)ProgrammingError: ('42000','[42000] [Microsoft] [SQL Server Native Client 10.0]语法 错误,权限违规或其他非特定错误(0) (SQLExecDirectW)')
答案 0 :(得分:1)
我最终搞清楚了。对于其他遇到过这种情况的人来说,sp_rename的语法看起来像这样。
conn.cursor().execute("{call sp_rename(?,?,?)}",('xro_zips_import.CityAliasName', 'City', 'COLUMN'))
conn.commit()