I wish to update a SQL Server table. Its a big table (with multiple items to be updated at one shot) and I have an issue in updating that by putting where statements manually. So I created a Python dictionary to use the key value pairs as set value for the value (if it exists) for where condition from the key. If the dictionary key is blank or null it sets the key as value or else it sets the value. (just to add both values are expected to be in the same column which I want to update).
因此,具体问题如下:
Saye 我设立了以下简称:
d = { a : , b : x1 , c : y1 , d : , e : 13f , f : o }
因此,我有一个表格,如SAMPLETABLE,我想更新表格的SAMPLECOL栏如下:
UPDATE SAMPLE TABLE
SET SAMPLECOL = a
WHERE SAMPLECOL = a
SET SAMPLECOL = x1
WHERE SAMPLECOL = b
SET SAMPLECOL = y1
WHERE SAMPLECOL = c
SET SAMPLECOL = d
WHERE SAMPLECOL = d
SET SAMPLECOL = 13f
WHERE SAMPLECOL = e
SET SAMPLECOL = o
WHERE SAMPLECOL = f
因此,我以暴徒的眼光试图这样做:
for key, values in d.items():
if len(d[key]) > 1:
sql = """UPDATE SAMPLETABLE
SET SAMPLECOL = {} where id
= {} """.format(d[key],key)
else:
d[key] = key
sql = """UPDATE SAMPLETABLE
SET SAMPLECOL = {} where id = {} """.format(d[key],
key)
但是,它没有做我所希望的单一更新说明。 不能确定我在哪里错了。 感谢任何帮助。