1

我有一个名为 xro_zips_import 的表,它位于 sql server 数据库中。它包含数百万行数据。我在表中有一个名为“City”和“CityAliasName”的列。我需要删除城市列并将 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 后收到的错误

回溯(最后一次调用):文件“Z:\Projects\ZipCodes\ftpUpdate.py”,第 274 行,在 conn.cursor().execute("{EXEC sp_RENAME} (?,?,?), 'xro_zips_import. CityAliasName', 'City', 'COLUMN'") ProgrammingError: ('42000', '[42000] [Microsoft][SQL Server Native Client 10.0]语法错误、权限冲突或其他非特定错误 (0) (SQLExecDirectW)' )

4

1 回答 1

1

我最终弄清楚了。对于遇到此问题的任何其他人, sp_rename 的语法如下所示。

conn.cursor().execute("{call sp_rename(?,?,?)}",('xro_zips_import.CityAliasName', 'City', 'COLUMN'))
conn.commit()
于 2013-08-09T14:42:52.580 回答