UPDATE DTIM_TIME_TABLE
SET LEVEL6ID = 'TEST'
WHERE LEVEL5ID IN ('TEST', 'TEST1')
but this doesn't:
list2 = [
"TEST",
"TEST1"
]
r = '(' + ', '.join(["'%s'" % (l) for l in list2]) + ')'
# r = ('TEST', 'TEST1')
system.db.runPrepUpdate(
"UPDATE DTIM_TIME_TABLE SET LEVEL6ID = 'TEST' WHERE LEVEL5ID IN ?",
[r]
)
Just as documentation. I ended using system.db.runQuery() and I simply build the string.
statement = 'UPDATE DTIM_TIME_TABLE SET LEVEL6ID = 'TEST' WHERE LEVEL5ID IN "
r = '(' + ', '.join(["'%s'" % (l) for l in list2]) + ')'
query = statement + r
# \_> UPDATE DTIM_TIME_TABLE SET LEVEL6ID = 'TEST' WHERE LEVEL5ID IN ('TEST', 'TEST1')
system.db.runQuery(query)
That is extremely unsafe for quoted strings as you show. Don't do that. Anyone encountering this topic in the future is highly encouraged to not follow Daniel's example.