Это зависит от вашего запроса.
INSERT ...
SELECT ... WHERE ... -- this could lead to zero rows being inserted
DELETE ...
WHERE NOT EXISTS ( SELECT ... ) -- this could lead to zero rows being deleted
UPDATE t1 JOIN t2 ... -- the JOIN may cause no rows to be updated
Примечание:
(Select a.* from table as a order by a.index desc limit 1) as b
where b.ColumnA = 1)) > 0 )
можно упростить (и ускорить) до
( ( SELECT ColumnA FROM table ORDER BY index DESC LIMIT 1 ) = 1 )
Обратите внимание, что это «истинное / ложное« выражение », поэтому оно может использоваться в разных местах.
Это не становится легче в V2, но существует механизм расширения, о котором Вы не могли бы знать.
Я полагаю, что часть проблемы находится в обработке PowerShell (или отсутствие этого) дженериков.
Кроме того, чтобы дополнительные методы были применены, введенные наборы должны будут быть осуществлены, который является трудным в PowerShell. PowerShell, как динамический язык, поддержки, создающие наборы различных типов и большинство наборов, представлены как массивы Объекта. Дополнительные методы требуют, чтобы параметры были выведены из типа набора и затем предиката, проверенного, чтобы иметь корректный тип.
Если Ваше беспокойство для некоторого LINQ как функции, существует много cmdlets, которые обеспечивают ту же функциональность в работе с объектными наборами.
Расширенная система типов PowerShell позволяет Вам добавлять методы к различным типам путем добавления XML-файла, или изменяя существующий (создающий новый рекомендуемый путь). Jeffrey Snover демонстрирует выполнение этого с добавлением ScriptProperty к Классу объекта в этом сообщении в блоге.
Это - не совсем то же, но это могло сделать задание.