Ответ от @ Ib33X замечательный. Если вы хотите удалить каждую пустую строку, после удаления. вам также нужно использовать метод полосы. В противном случае он также вернет пустую строку, если она имеет пробелы. Например, «» будет действительным и для этого ответа. Таким образом, может быть достигнуто.
strings = ["first", "", "second ", " "]
[x.strip() for x in strings if x.strip()]
Ответ для этого будет ["first", "second"]
. Если вы хотите использовать метод filter
, вы можете сделать это как list(filter(lambda item: item.strip(), strings))
. Это дает тот же результат.
Если это MS SQL Server ...
Триггеры имеют специальные таблицы INSERTED
и DELETED
для отслеживания данных «до» и «после». Таким образом, вы можете использовать что-то вроде IF EXISTS (SELECT * FROM DELETED)
для обнаружения обновления. У вас есть только строки в DELETED
при обновлении, но всегда есть строки в INSERTED
.
Ищите «вставлено» в CREATE TRIGGER
Редактировать, 23 ноября 2011
После комментария этот ответ предназначен только для триггеров INSERTED
и UPDATED
.
Очевидно, что триггеры DELETE не могут иметь «всегда строк в INSERTED
», как я уже говорил выше